SPDY是任何不同于HTTP复用在保持活动连接(Is SPDY any different than

2019-07-29 04:14发布

HTTP 1.1支持保持活动连接,连接不会关闭,直到“连接:关闭”被发送。

所以,如果浏览器,在这种情况下,Firefox已经network.http.pipelining启用,network.http.pipelining.maxrequests增加不到底同样的效果?

我知道,这些设置是禁用的,因为一些网站,这可能增加负载,但我认为一个简单的HTTP头标志可以告诉大家是确定的TU使用复用浏览器,这个问题是可以解决的更容易。

那岂不是更容易在浏览器中更改默认设置比发明一个新的协议,增加了复杂性特别是在HTTP服务器?

Answer 1:

SPDY有许多超越什么HTTP管道可以提供的优势,这在描述SPDY白皮书 :

  1. 随着流水线,服务器仍然必须返回在他们所要求的顺序一次的回应之一。 服务器无法发送任何“易”静态响应,直到动态生成一个已生成并发送:如果客户端请求这个例子,它是静态的前动态生成的资源这可能是一个问题。 与SPDY,响应可以返回出的顺序或并行,因为它们产生的,降低的总时间为接收的所有资源。
  2. 当你在你的问题指出,并非所有的服务器都能够处理流水线:它不只是加载,一些服务器的实际行为不当,当客户端请求流水线作业。 使用头,以表明它的好做的流水线是为时已晚,以获得最大的好处:你已经开始接受在这一点上的第一反应,因此,尽管你可以在以后的连接就已经太晚了这一个使用它。
  3. SPDY使用的算法是特定于该任务(状态和与什么是正常的HTTP头知识)压缩头; 尽管是,SSL已经包括压缩,只是采用deflate压缩它们是效率不高。 大多数HTTP请求没有身体,只有很短GET行,所以头补几乎整个请求:任何压缩,你可以得到的是一种改进。 许多反应也很小相比,他们的头。
  4. SPDY允许服务器发回补充答复没有客户询问他们。 例如,客户端有机会接收并解析HTML来确定样式表URL之前的服务器可能会开始与原来的HTML一起发送回一个页面的CSS。 这可以通过省去了客户端请求需要渲染页面的其他资源之前,实际上解析HTML甚至进一步加快页面加载。 它也支持此功能可以在那里“暗示”有关可能需要的IT资源较少的带宽重版本,并允许客户端决定:这允许,例如,不关心图像懒得客户要求他们,而是要显示的图像客户端仍然可以要求使用指定的网址上的图片,而不需要等待HTML。
  5. 其他的一些东西:见陈伟霆的答案,甚至更多。


Answer 2:

  • HTTP流水线易受在HTTP事务级线阻塞(http://en.wikipedia.org/wiki/Head-of-line_blocking)的头部,而SPDY只有线阻塞在传输层,的头由于其使用的复用。
  • HTTP管线具有可部署的问题。 见http://tools.ietf.org/html/draft-nottingham-http-pipeline-01它描述了许多不同的解决方法和启发式,以减轻这一点。 SPDY作为部署在野外,因为它使用NPN(http://technotes.googlecode.com/git/nextprotoneg.html)协商SPDY支持通常部署在SSL(端口443)不存在这个问题。 SSL是关键,因为它可以防止中介机构的干扰。
  • SPDY具有报头压缩。 见http://dev.chromium.org/spdy/spdy-whitepaper其中讨论的报头压缩的好处,一些基准测试结果。 现在,它是有用的注意,带宽是一个问题(见的少http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/ ),但它也是有用的请记住,带宽仍然是手机的关键。 退房https://developers.google.com/speed/articles/spdy-for-mobile这表明SPDY如何有益的是手机。
  • SPDY支持像服务器推送功能。 见http://dev.chromium.org/spdy/spdy-best-practices的方式来使用服务器推动,以提高内容的缓存能力,仍然减少往返。
  • HTTP管线有不明确的失败语义。 当服务器关闭连接,你怎么知道哪些请求已成功处理? 这就是为什么POST和其他非幂等请求是不允许在流水线连接的重要原因之一。 SPDY提供语义取消在同一连接上各个流,并且还具有一个GOAWAY帧,其指示将被成功处理的最后一个流。
  • HTTP管线有困难,往往由于中介机构,在允许深管线。 这(除了许多其他原因,像HOL阻塞)意味着你仍然需要利用多个TCP连接,以达到最大并行化。 使用多个TCP连接意味着拥塞控制信息不能被共享,即压缩上下文不能被共享(如SPDY不与头),是用于在互联网(更昂贵的中介和服务器)差。

我可以去和有关HTTP流水线VS SPDY。 但我建议你只是读了上SPDY。 退房http://dev.chromium.org/spdy和对SPDY我们的技术谈话http://www.youtube.com/watch?v=TNBkxA313kk&list=PLE0E03DF19D90B5F4&index=2&feature=plpp_video 。



Answer 3:

见有SPDY HTTP pipeling和HTTP复用的区别



文章来源: Is SPDY any different than http multiplexing over keep alive connections