Web相关概念简述
http:Hyper Text Transfer Protocol 超文本传输协议
- 持久连接:persistent connection 即TCP连接默认在一定时间内不关闭,可以被多个请求复用,在特点场景下可以有效降低资源消耗
- 管道机制:pipelining 即在同一个TCP连接里,客户端可以同时发送多个请求,进一步改进了HTTP协议的效率
- 复用的连接:交替传送请求和响应报文
- 头信息压缩机制:header compression 头信息使用gzip或compress压缩后再发送
- HTTP常用请求方式:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
html:Hyper Text Markup Language 超文本标记语言
CSS:Cascading Style Sheet 层叠样式表
js:javascript
MIME:Multipurpose Internet Mail Extensions 多用途互联网邮件扩展
静态文件:无需服务端做出额外处理,直接返回给客户端所请求的页面,如文件后缀:.jpg, .html, .txt, .js,.css, .mp3, .avi 等
动态文件:服务端执行程序,返回执行的结果,如文件后缀:.asp, .php, .jsp
Web资源:web resource 一个网页由多个资源构成,打开一个页面,会有多个资源展示出来,但是每个资源都要单独请求。因此,一个“Web 页面”通常并不是单个资源,而是一组资源的集合
- URI: Uniform Resource Identifier 统一资源标识,分为URL和URN
- URN: Uniform Resource Naming 统一资源命名
- URL: Uniform Resorce Locator,统一资源定位符,用于描述某服务器某特定资源位置
-
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
- schame:方案,访问服务器以获取资源时要使用哪种协议
- user:用户,某些方案访问资源时需要的用户名
- password:密码,用户对应的密码,中间用:分隔
- Host:主机,资源宿主服务器的主机名或IP地址
- port:端口,资源宿主服务器正在监听的端口号,很多方案有默认端口号
- path:路径,服务器资源的本地名,由一个/将其与前面的URL组件分隔
- params:参数,指定输入的参数,参数为名/值对,多个参数,用;分隔
- query:查询,传递参数给程序,如数据库,用?分隔,多个查询用&分隔
- frag:片段,一小片或一部分资源的名字,此组件在客户端使用,用#分隔
IP(独立IP):即Internet Protocol,指独立IP数。一天内来自相同客户机IP地址只计算一次,记录远程客户机IP地址的计算机访问网站的次数,是衡量网站流量的重要指标
pv:page view 即页面浏览量,或点击量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。PV值的计算:当一个访问者访问网站的时候,记录他所访问的页面和对应的IP,然后确定这个IP今天访问了这个页面没有。如果你的网站到了23点,单纯IP有60万条的话,每个访问者平均访问了3个页面,那么PV表的记录就要有180(60×3)万条。
uv:user view 指访问某个站点或点击某条新闻的不同IP地址的人数。在同一天内,UV只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。独立IP访问者提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。
QPS:request per second,每秒请求数;QPS = PV * 页⾯衍⽣连接次数 / 统计时间(86400),2亿pv的网站活动连接大约100W左右,qps大约1-2W
active connetion:活动连接数,在负载均衡层上看连接数
并发连接数 = QPS * HTTP平均响应时间
峰值时间:每天80%的访问集中在20%的时间里,这20%时间为峰值时间
峰值时间每秒请求数 = ( 总PV数 * 页⾯衍⽣连接次数 * 80% ) / ( 每天秒数 * 20% )
单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应
多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求
复用I/O结构:启动一个进程,同时响应N个连接请求
复用的多进程I/O模型:启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求