1.uri(统一资源标识符):url(统一资源定位符)、urn(统一资源名)
url语法:<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
-----------------方案--------用户名-----密码---------主机----端口----路径------参数-------查询-----片段--------
2.http报文组成
- 起始行
- 首部
- 主体
3.IP分组
- IP分组首部:源/目的IP地址、长度、标记、检验
- TCP段首部:TCP端口号、标记、检验
- TCP数据块
4.http事务主要时延
- DNS解析域名
- TCP连接建立
- 客户端发送http请求,web服务器读取请求报文并处理
- web服务器回送http响应
5.并行连接与持久连接
站点本地性:初始化了对某服务器HTTP请求的应用程序很可能会在不 久的将来对那台服务器发起更多的请求
- | 并行连接优缺
- 充分利用客户端因特网带宽,连接时延重叠
- 每个事务都会打开/关闭一条新的连接,会耗费时间和带宽(引发自身性能问题)
- 由于TCP慢启动特性的存在,每条新连接的性能都会有所降低
- 可打开的并行连接数量实际上是有限的(大量连接会造成服务器性能的严重下降)
- | 持久连接优缺
- 降低了时延和连接建立的开销,减少了打开连接的潜在数量
- 可能会累积出大量的空闲连接,耗费本地以及过程客户端和服务器上的资源
- | keep-alive连接:HTTP/1.0 默认不使用 存在被代理挂起的危险
- | persistent连接:HTTP/1.1 默认是激活的 事务结束后需显示添加Connection:close首部 客户端和服务器仍然可以随时关闭空闲的连接
6.Web服务器主要执行任务
- 建立连接——接受客户断连接
- 接收请求——从网络中读取一条HTTP请求报文
- 处理请求——对请求报文进行解释,并采取行动
- 访问资源——访问报文中指定的资源
- 构建响应——创建带有正确首部的HTTP响应报文
- 发送响应——将响应回送给客户端
- 记录事务处理过程——将与已完成事务有关的内容记录到日志文件中
7.代理与网关
代理使用同一种协议,网关则将不同的协议连接起来