HTTP 建立之初,是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。但随着CSS,Javascript的出现,以及移动互联时代的到来,我们不得不对HTTP进行不断地优化。
目前影响http请求的只有延迟,浏览器阻塞(HOL blocking), DNS查询(DNS Lookup),建立连接(Initial connection)
参考文章1
参考文章2
1. http1.0
三种请求方法: GET, POST 和 HEAD方法。
特点:
无状态:服务器不跟踪不记录请求过的状态
无连接:浏览器每次请求都需要建立tcp连接
导致问题:(无法使用cookie/session机制,无法复用链接,导致网络利用率低,请求响应慢,可能导致阻塞)
无状态导致的问题可以借助cookie/session机制来做身份认证和状态记录解决。
无连接:
无法复用连接。每次发送请求的时候,都需要进行一次TCP连接,而TCP的连接释放过程又是比较费事的。这种无连接的特性会导致网络的利用率非常低。
队头堵塞(head of line blocking)。由于HTTP/1.0规定下一个请求必须在前一个请求响应到达之前才能发送。假设一个请求响应一直不到达,那么下一个请求就不发送,就到导致阻