Zz 关于 firefox 的 network.http.pipelining

载自: http://arliweng.users.sourceforge.net/2011/10/14/%E5%85%B3%E4%BA%8E-firefox-%E7%9A%84-network-http-pipelining/

 

看到好些人对该技术存在误解,盲目的提供建议,特此做个备忘以供引用

该配置在以前我的老BLOG上有,但是好长时间了,清空了现在找不到了,重新写一份

先说http连接,常规过程是

>tcp-握手
<tcp-完成握手
>http-request
<http-response
>tcp-断开
<tcp-完成断开

在开启http 的 keep-alive 之后,

>tcp-握手
<tcp-完成握手
>http-request
<http-response
>http-request
<http-response

>tcp-断开
<tcp-完成断开

在开启http 的 pipelining之后,
>tcp-握手
<tcp-完成握手
>http-request
>http-request

<http-response
<http-response

>tcp-断开
<tcp-完成断开

很明显,pipelining 是一系列连续的request 请求,而不是先读完响应
这个技术是HTTP/1.1其中一个新特性,在很多服务器端并不被支持,在浏览器端也如是,包括ie和google浏览器都不支持。理由其实很明显那是一个危险的操作,发起一定数量级的请求之后,对服务器端程序是一个灾难。。通常实现该技术的浏览器,都会在第一个发起常规请求,然后根据响应决定是否在后续请求启用或者试发起2个连续的测试。但不论如何,个人不提倡该技术,也不建议开启,除非定向用户群则启动该技术将大大提高流量效率 (使用chunked传输可以多个包压在一个连续的流包里面以达到MTU的满负载传输)。

你可能感兴趣的:(firefox)