讲了http的下层协议tcp/ip的一些知识点:tcp/ip建立连接需要做的事情,tcp/ip所带来的时延,以及从http的角度出发,提升网络性能的一些方法,涉及到串行连接、并行连接、持久连接、管道连接等概以及介绍了如何关闭连接等概念
-
通常http事务发生时会经过几个步骤,下面以访问http://www.xxx.com:80/ggg/index.html为例说明:
-
浏览器从地址栏中解析处域名(主机名),也就是拿到www.xxx.com
-
浏览器根据得到的主机名查询出ip地址,比如算出ip为202.43.78.3,(中间可能经过查找host文件或去查询dns服务器)
-
浏览器解析出端口(http默认为80,https默认为443)
-
浏览器发起一条到202.43.78.3端口为80的链接,(重建需要经过几次确定相关参数的来回“握手”)
-
浏览器发起请求报文
-
服务器返回响应报文
-
浏览器关闭连接(其实浏览器和服务器都可以在不通知对方的情况关闭连接)
HTTP/1.1允许在持久连接上可选地使用请求管道。这是在keep-alive连接上的进一步性能优化。在响应到达之前,可以将多条请求放入队列。当第一条请求通过网络流向地球另一端的服务器时,第二条和第三条请求也可以开始发送了。在高时延网络条件下,这样做可以降低网络的环回时间,提高性能。