【技术实现步骤摘要】
一种头域还原系统、方法及相关设备
[0001]本申请涉及头域还原
,尤其涉及一种头域还原系统、方法及相关设备。
技术介绍
[0002]超文本传输协议(HyperText Transfer Protocol,HTTP)基于传输控制协议(Transmission Control Protocol,TCP)连接传输,例如当一个客户端与服务端建立了TCP连接后,该客户端可能会在短时间内发送多个HTTP请求到服务端。在以往的HTTP/1.1中(请参阅RFC7230),HTTP请求内的头域字段未被压缩,随着网页数量增长到需要数十到数百个请求,这些请求的头域字段中存在的大量重复信息将会不必要地占用客户端与服务端的通信带宽,同时增加延迟。因此在HTTP/2.0中(请参阅RFC7540),定义了HTTP/2.0传输过程中使用HPACK机制以压缩重复的头域字段。该机制通过索引表在发送端将各个头部信息映射为索引值后进行传输。发送端(比如客户端)和接收端(比如服务端)维护一致的索引表,接收端基于该索引表将收到的头域索引值还原为对应的头域,最终可以达到减少传输数据量,减少网络传输的带宽以及减少时延的效果。
[0003]其中,头域映射用的索引表分为静态索引表和动态索引表。静态索引表在RFC7541中已经明确定义,固定的索引值对应固定的头域字符串。而动态索引表则是从客户端与服务端建立TCP连接至连接终止的过程中,通过双方新消息的发送同步指定新的头域字符串和新的索引值相关联。显然,动态索引表在客户端与服务端的TCP连接过程中处于时刻变 ...
【技术保护点】
【技术特征摘要】
1.一种头域还原系统,其特征在于,包括解析节点、客户端和服务端;所述客户端或者所述服务端,用于向所述解析节点发送第一动态索引表以及所述第一动态索引表对应的关联信息;所述第一动态索引表指示多个头域和多个索引值的映射关系;所述关联信息用于指示与所述第一动态索引表对应的流,或者,所述关联信息用于指示与所述第一动态索引表对应的第一时间;所述解析节点,用于根据所述关联信息获取对应于第一消息的P个索引值;所述第一消息承载于所述第一动态索引表对应的流的N1个数据包,所述第一动态索引表对应的流传输于所述客户端与所述服务端之间;P为大于或者等于1的整数,N1为大于或者等于1的整数;所述解析节点,还用于根据所述第一动态索引表,得到所述P个索引值各自对应的头域。2.根据权利要求1所述的系统,其特征在于,所述关联信息包括第一流标识ID以及指示信息,所述指示信息指示所述第一流ID为与所述第一动态索引表对应的流的ID,或者所述指示信息指示第二流ID为与所述第一动态索引表对应的流的ID,所述第二流ID指示所述客户端与所述服务器之间,在所述第一流ID指示的流之后,传输的下一个流。3.根据权利要求1所述的系统,其特征在于,所述关联信息用于指示与所述第一动态索引表对应的第一时间;所述第一时间为所述第一动态索引表的生成时间;所述解析节点,具体用于:获取所述第一消息承载于的所述N1个数据包;所述N1个数据包中的至少一个数据包被所述解析节点获取的时间与所述第一时间的差值小于第一阈值;获取对应于所述N1个数据包的所述P个索引值。4.根据权利要求1-3任意一项所述的系统,其特征在于,所述第一消息还包括Q个头域,Q为大于或者等于1的整数;所述解析节点、所述客户端或所述服务端,还用于:根据获取的所述Q个头域,更新所述第一动态索引表,以得到第二动态索引表;所述第二动态索引表包括更新的至少一个头域和至少一个索引值的映射关系。5.一种头域还原方法,应用于解析节点,其特征在于,包括:接收客户端或者服务端发送的第一动态索引表以及所述第一动态索引表对应的关联信息;所述第一动态索引表指示多个头域和多个索引值的映射关系;所述关联信息用于指示与所述第一动态索引表对应的流,或者,所述关联信息用于指示与所述第一动态索引表对应的第一时间;根据所述关联信息获取对应于第一消息的P个索引值;所述第一消息承载于所述第一动态索引表对应的流的N1个数据包,所述第一动态索引表对应的流传输于所述客户端与所述服务端之间;P为大于或者等于1的整数,N1为大于或者等于1的整数;根据所述第一动态索引表,得到所述P个索引值各自对应的头域。6.根据权利要求5所述的方法,其特征在于,所述关联信息包括第一流标识ID以及指示信息,所述指示信息指示所述第一流ID为与所述第一动态索引表对应的流的ID,所述第一消息中携带所述第一流ID。7.根据权利要求5所述的方法,其特征在于,所述关联信息包括第一流标识ID以及指示信息,所述指示信息指示第二流ID为与所述第一动态索引表对应的流的ID,所述第二流ID指示所述客户端与所述服务器之间,在所述第一流ID指示的流之后,传输的下一个流,所述
第一消息中携带所述第二流ID。8.根据权利要求5所述的方法,其特征在于,所述关联信息用于指示与所述第一动态索引表对应的所述第一时间;所述第一时间为所述第一动态表的生成时间;所述根据所述关联信息获取第一消息的P个索引值,包括:获取所述第一消息承载于的所述N1个数据包;所述N1个数据包中的至少一个数据包被所述解析节点获取的时间与所述第一时间的差值小于第一阈值;获取对应于所述N1个数据包的所述P个索引值。9.根据权利要求5-8任意一项所述的方法,其特征在于,所述第一消息还包括Q个头域,Q为大于或者等于1的整数;所述方法还包括:根据获取的所述Q个头域,更新所述第一动态索引表,以得到第二动态索引表;所述第二动态索引表包括更新的至少一个头域和至少一个索引值的映射关系。10.根据权利要求5-9任意一项所述的方法,其特征在于,所述第一消息为请求消息,所述第一动态索引表用于指示所述客户端与所述服务端之间传输的请求消息的头域与索引值的映射关系;所述第一消息为响应消息,所述第一动态索引表用于指示所述客户端与所述服务端之间传输的响应消息的头域与索引值的映射关系。11.一种头域还原方法,应用于客户端或者服务端,其特征在于,包括:向解析节点发送第一动态索引表以及所述第一动态索引表对应的关联信息;所述第一动态索引表指示多个头域和多个索引值的映射关系;所述关联信息用于指示与所述第一动态索引表对应的流,或者,所述关联信息用于指示与所述第一动态索引表对应的第一时间;所述第一动态索引表用于所述客户端或者所述服务端根据所述第一动态索引表对所述第一消息进行头域压缩,以得到所述第一消息的头域对应的P个索引值;所述第一消息承载于所述第一动态索引表对应的流的N1个数据包,所述第一动态索引表对应的流传输于所述客户端与所述服务端之间;P为大于或者等于1的整数,N1为大于或者等于1的整数。12.根据权利要求11所述的方法,其特征在于,所述关联信息包括第一流标识ID以及指示信息,所述指示信息指示所述第一流ID为与所述第一动态索引表对应的流的ID,或者所述指示信息指示第二流ID为与所述第一动态索引表对应的流的ID,所述第二流ID指示所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。