[发明专利]一种SPDY协议代理方法及代理系统有效

专利信息
申请号: 201410554733.X 申请日: 2014-10-17
公开(公告)号: CN104253821B 公开(公告)日: 2018-04-17
发明(设计)人: 周建斌 申请(专利权)人: 北京太一星晨信息技术有限公司
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 北京安信方达知识产权代理有限公司11262 代理人: 李红爽,栗若木
地址: 100193 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 spdy 协议 代理 方法 系统
【权利要求书】:

1.一种SPDY代理方法,包括:

预先建立SPDY到HTTP的服务器的连接池,所述连接池用于存储SPDY对应的HTTP连接;

从客户端接收SPDY请求,如果该SPDY请求为SYN_STREAM类型的控制帧,则解析该SYN_STREAM类型的控制帧,生成HTTP请求头,将从所述SYN_STREAM类型的控制帧中解析出的流ID和所生成的HTTP请求头相对应,检查SPDY到HTTP的服务器的连接池是否有空闲的TCP连接,如果没有且连接池中的连接数未超过预设阈值,则新建一条TCP连接加入所述连接池并标记为空闲后取出;如果有则取出一条空闲的TCP连接;如果该SPDY请求为数据帧,则解析该数据帧,生成HTTP请求体;将生成的HTTP请求头和请求体发给HTTP服务器;

当从所述HTTP服务器收到与SPDY请求相应的HTTP回应时,解析HTTP回应头,生成SYN_REPLY类型的控制帧;解析HTTP回应体,生成SPDY数据帧;将所生成的SYN_REPLY类型的控制帧和SPDY数据帧发回给客户端。

2.如权利要求1所述的方法,其特征在于,所述从客户端接收SPDY请求的步骤前还包括:

与所述客户端建立安全传输层协议TLS连接时,在协议协商NPN字符串中加入SPDY版本号;

当所述客户端的回应中携带SPDY版本号时,进行所述从客户端接收SPDY请求的步骤。

3.如权利要求1所述的方法,其特征在于,所述解析SYN_STREAM类型的控制帧,生成HTTP请求头的步骤后还包括:

解析SYN_STREAM类型的控制帧的3个优先级标记位,得到3个二进制数值组成的序列,将所生成的HTTP请求头和所述控制帧对应放入所述序列对应的优先级队列中;

所述将生成的HTTP请求头发给HTTP服务器的步骤中,按照从高优先级到低优先级的顺序从优先级队列中取出HTTP请求头和对应的控制帧发送给所述HTTP服务器。

4.如权利要求1到3中任一项所述的方法,其特征在于,所述解析SYN_STREAM类型的控制帧,生成HTTP请求头的步骤包括:

对于SYN_STREAM类型的控制帧,用zlib解压该控制帧的SPDY头域块,提取头域名字为“:method”、“:path”、“:version”的头域的值,拼接组成HTTP请求头的第一行;把提取的其它SPDY头域块中的头域,写成[头域名]:[头域值]的格式,作为HTTP头域,每行写一个头域,添加Connection:keep-alive头域。

5.如权利要求4所述的方法,其特征在于,

将生成的HTTP请求头发给HTTP服务器的步骤包括:

将所生成的HTTP请求头和对应的控制帧通过所取出的TCP连接发给HTTP服务器,将该HTTP请求头对应的流ID与该条TCP连接的编号对应保存;将该条TCP连接标记为非空闲;

将生成的HTTP请求体发给HTTP服务器的步骤包括:

根据从SPDY数据帧中解析出的流ID找到对应的TCP连接的编号;用该编号代表的TCP连接发送所生成的HTTP请求体给HTTP服务器。

6.如权利要求5所述的方法,其特征在于,所述解析HTTP回应头,生成SYN_REPLY类型的控制帧的步骤包括:

根据当前的TCP连接的编号得到对应的流ID;

将HTTP回应头中的第一行状态码作为“:status”头域;把HTTP回应头中每行HTTP头域的“:”去掉,“:”前后分别为头域的名字和头域的值;头域的名字前加入用4个字节表示的头域名字长度,在头域的值前加入用4个字节表示的头域的值长度;在最终的头域块前加上4个字节表示的头域块的数量,组成SYN_REPLY类型的控制帧SPDY头域块;

用zlib把生成的SPDY头域块进行压缩,然后拼接上8个字节的SPDY控制帧头和4个字节的所得到的流ID;所述SPDY控制帧头中,前4个字节为0x80、0x03、0x00、0x02;压缩后的SPDY头域块长度加4作为帧长度写入第6到8个字节,如果所述HTTP回应头后不包含回应体,那么第5个字节写入0x01表示回应结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京太一星晨信息技术有限公司,未经北京太一星晨信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410554733.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top