注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

spdy, gogole搞的下一代http互联网协议  

2012-03-30 16:30:05|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
spdy, gogole搞的下一代http互联网协议,说是相比较http 1.0可以提速50%

大概看了一下spec,
https://github.com/mbelshe/SPDY-Specification/blob/gh-pages/draft-mbelshe-httpbis-spdy-00.txt

整个文档字数不多,呵呵,好像挺简单的。

文档一个重要的优化,就是以前http 1.0 都是短连接,可能同一个服务器也有可能有很多tcp连接,典型的可能每个http request 都有一个连接(以前好像看firefox抓包,好像多个request会共享一个连接的,但还是会有多个连接到服务器),这样很多时间都浪费在建立连接上面了。 spdy的改进就是使用长连接,每个http server 只开一个tcp 长连接,始终保持激活,spdy 里面叫做一个session。 然后spdy的主要在一个session上面,通过一种constrol frame 和data frame的分包格式,通过序列号表示不同的stream,然不同的应用可以使用同一个session来做自己不同的stream。 spdy的文档除了这个多个stream 的定义,就是session的维护机制,比如 syn   rst  ping 等常见连接状态管理的机制。 当然也还有一些压缩啊,http 包头到sesion包头的映射等内容。


网上有很多开源的实现了,在chromium的官方那里找找吧。

准备看了一下chromium 浏览器的客户端 spdy协议的实现(http://src.chromium.org/viewvc/chrome/trunk/src/net/spdy/),重点关注 stream的 序列号管理和session联系,好像是通过std::map 结构来保存stream_id 和stream对的,但还是用了weakptr。 有时间自己看一下,希望能够学到什么有趣的用法好用于现在的一个项目。 太多东西排队等待我阅读了,队列太长了 ,好像要溢出了。。。。   

  评论这张
 
阅读(942)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017