CN104283957A - 基于持续连接机制的cdn缓存方法 - Google Patents
基于持续连接机制的cdn缓存方法 Download PDFInfo
- Publication number
- CN104283957A CN104283957A CN201410534868.XA CN201410534868A CN104283957A CN 104283957 A CN104283957 A CN 104283957A CN 201410534868 A CN201410534868 A CN 201410534868A CN 104283957 A CN104283957 A CN 104283957A
- Authority
- CN
- China
- Prior art keywords
- tcp
- client
- server
- http
- continued
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于持续连接机制的CDN缓存方法,属于CDN技术领域,采用了效率高的持续连接机制,即客户端和服务器建立TCP连接后,该TCP连接在每一次HTTP请求和响应完成后无需关闭,如果客户端还要请求其他对象,无需重新为每个对象建立TCP连接,后续相关联的HTTP请求可以重复利用已经建立起来的TCP连接,与传统的非持久连接相比,减少了整个网络延时和减轻了网络流量,提高了网络访问效率。
Description
技术领域
本发明涉及CDN技术领域,具体是涉及一种基于持续连接机制的CDN缓存方法。
背景技术
内容缓存技术时整个CDN系统实现的基础,它是通过对内容副本进行缓存来满足后续相同的用户请求,在实际的网络部署应用中,内容缓存工作是通过Cache设备来实现的,Web Cache设备时最早出现的Cache设备类型。目前,市场上的Web Cache设备种类较多,一款Web Cache产品在投放市场之前需要考虑较多的市场因素,比如需要应用的场景、面临的客户群。因此,不同的市场需求对Web Cache的基本功能、性能、管控以及工作方式都有着不同的要求。Web Cache作为一种网页缓存技术,可以在用户访问网站服务器的任何一个中间网元上实现。
HTTP协议是Web技术中最为关键的应用层协议,也是目前互联网上应用最为广泛的一种网络应用层协议,HTTP协议本身没有规定支持其传输的底层协议是哪种协议,但通常情况下都是架构在TCP传输协议之上的,HTTP客户端首先发起建立与服务器的TCP连接,一旦建立连接,客户端和服务器的HTTP进程就可以通过各自套接字(Socket)来访问下层的TCP,不管是客户端还是服务器,套接字都是相应HTTP进程和TCP连接之间的接口。客户端可以通过套接字发送HTTP请求消息,也从自己的套接字接收HTTP响应消息;类似的,服务器从自己的套接字接收HTTP请求消息,也往自己的套接字发送HTTP响应消息。客户端或者服务器的HTTP进程一旦把某个消息送入各自的套接字,这个消息就完全落入TCP控制中,TCP给HTTP提供一个可靠的数据传输服务,这意味着由客户发出的每个HTTP请求消息最终将无损地到达服务器,由服务器发出的每个HTTP响应消息最终也将无损地到达客户。
HTTP协议是一个无状态的协议,即客户端向服务器端发送出请求时,服务器并没有存储关于该客户端和请求的任何状态信息。即便同一个客户端在几秒钟内再次请求同一个对象,服务器也不会响应说自己刚刚给它发送了这个对象。相反,服务器会重新发送这个对象,因为它已经彻底忘记自己早先做过什么,同一个客户端的这次请求和上次请求没有任何关系。
客户端在发出HTTP请求时需建立好相应的TCP连接,又由于HTTP协议是无状态的协议,每次的请求和相应都是独立的,所以在HTTP协议中使用的是非持久连接,非持久连接即TCP连接在每一次HTTP请求和响应完成后就关闭,如果客户端还要请求其他对象,需要重新为每个对象建立TCP连接。当一个Web页面包涵多个对象并全部显示时,客户端需要与服务器端建立的TCP连接数较多,对整个网络时延和网络流量造成了较大的影响。
发明内容
发明目的:为了克服上述问题,本发明提供一种高效率的基于持续连接机制的CDN缓存方法。
技术方案:为实现上述目的,本发明的一种基于持续连接机制的CDN缓存方法,所述方法包括以下步骤:
(S1) 客户端通过HTTP进程发起一个与服务器主机的TCP连接;
(S2) 所述客户端向与所述TCP连接相关联的客户端的本地套接字发出一个HTTP请求消息;
(S3) 服务器经由与所述TCP连接相关联的服务器的本地套接字接收客户端发出的所述HTTP请求消息;
(S4)所述服务器从其主机的内存或硬盘取出对象,并经由所述服务器的本地套接字发出包含所述对象的HTTP响应消息;
(S5)所述客户端从所述客户端的本地套接字接收到所述包含所述对象的HTTP响应消息,并对所述对象进行分析;
(S6) 所述客户端对所述对象进行分析后,得到所述对象含有多个对象的引用,所述客户端对所述对象中引用的其他对象重复所述步骤(S1)~(S5)。
有益效果:本发明的一种基于持续连接机制的CDN缓存方法,采用了效率高的持续连接机制,即客户端和服务器建立连接后,后续相关联的HTTP请求可以重复利用已经建立起来的TCP连接,与传统的非持久连接相比,减少了整个网络延时和减轻了网络流量,提高了网络访问效率。
附图说明
图1为基于持续连接机制的CDN缓存方法流程图。
具体实施方式
下面结合附图和实施例对本发明作更进一步的说明。
参见图1,本发明的一种基于持续连接机制的CDN缓存方法,所述方法包括以下步骤:
(S1) 客户端通过HTTP进程发起一个与服务器主机的TCP连接;
(S2) 所述客户端向与所述TCP连接相关联的客户端的本地套接字发出一个HTTP请求消息;
(S3) 服务器经由与所述TCP连接相关联的服务器的本地套接字接收客户端发出的所述HTTP请求消息;
(S4)所述服务器从其主机的内存或硬盘取出对象,并经由所述服务器的本地套接字发出包含所述对象的HTTP响应消息;
(S5)所述客户端从所述客户端的本地套接字接收到所述包含所述对象的HTTP响应消息,并对所述对象进行分析;
(S6) 所述客户端对所述对象进行分析后,得到所述对象含有多个对象的引用,所述客户端对所述对象中引用的其他对象重复所述步骤(S1)~(S5)。
在本发明实施例中,客户端(比如浏览器)通过HTTP进程发起一个与服务器主机www.netitv.com的连接。服务器使用端口号80监听来自客户端的HTTP请求;客户端向与所建TCP连接相关联的本地套接字发出一个HTTP请求消息,这个消息中包含一个路径名/netitv/i_movie/movie.shtml;服务器经由于TCP连接相关联的本地套接字接收这个请求消息后,从服务器主机的内存或硬盘中取出对象/netitv/i_movie/movie.shtml,经由同一个套接字发出包含该对象的响应消息;客户端通过套接字接收到这个响应消息后,对收到的/netitv/i_movie/movie.shtml对象进行分析,发现其中含有包括JPEG在内的多个对象的引用,因此对/netitv/i_movie/movie.shtml中引用的其他对象重复步骤(S1)~(S5)。
优选的,所述客户端对所述对象中引用的其他对象重复步骤(S1)~(S5),产生一个持续的所述TCP连接,持续的所述TCP连接会在空闲一段特定的时间后关闭。而这个最大的空闲时间时可以设置的。
优选的,所述客户端和所述服务器建立连接后,后续相关联的HTTP请求可以重复利用已经建立起来的TCP连接,不仅整个Web页面可以使用这个持续的TCP连接来完成HTTP请求和响应,而且同一个服务器的多个Web页面也可以通过同一个持续TCP连接来请求和响应。进一步提高了连续性连接机制的效率。
优选的,所述方法采用带流水线的持续的TCP连接,持续的TCP连接包括两种:带流水线和不带流水线,在不带流水线的持续的TCP连接下,客户端的HTTP请求只能在上一个请求得到相应后才能发出,在带流水线的持续的TCP连接下,客户端在Web页面发现其他引用对象时就可以发起HTTP请求。带流水线的持续性连接机制没有不带流水线的限制,客户端在Web页面发现其他引用对象时就可以发起HTTP请求,无需考虑上一个请求的响应消息是否已经收到。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于持续连接机制的CDN缓存方法,其特征在于:所述方法包括以下步骤:
(S1) 客户端通过HTTP进程发起一个与服务器主机的TCP连接;
(S2) 所述客户端向与所述TCP连接相关联的客户端的本地套接字发出一个HTTP请求消息;
(S3) 服务器经由与所述TCP连接相关联的服务器的本地套接字接收客户端发出的所述HTTP请求消息;
(S4)所述服务器从其主机的内存或硬盘取出对象,并经由所述服务器的本地套接字发出包含所述对象的HTTP响应消息;
(S5)所述客户端从所述客户端的本地套接字接收到所述包含所述对象的HTTP响应消息,并对所述对象进行分析;
(S6) 所述客户端对所述对象进行分析后,得到所述对象含有多个对象的引用,所述客户端对所述对象中引用的其他对象重复所述步骤(S1)~(S5)。
2.根据权利要求1所述的基于持续连接机制的CDN缓存方法,其特征在于:所述客户端对所述对象进行分析后,得到所述对象含有包括JPEG在内的多个对象的引用。
3.根据权利要求2所述的基于持续连接机制的CDN缓存方法,其特征在于:所述客户端对所述对象中引用的其他对象重复步骤(S1)~(S5),产生一个持续的所述TCP连接,持续的所述TCP连接会在空闲一段特定的时间后关闭。
4.根据权利要求3所述的基于持续连接机制的CDN缓存方法,其特征在于:所述客户端和所述服务器建立连接后,后续相关联的HTTP请求可以重复利用已经建立起来的TCP连接,不仅整个Web页面可以使用这个持续的TCP连接来完成HTTP请求和响应,而且同一个服务器的多个Web页面也可以通过同一个持续TCP连接来请求和响应。
5.根据权利要求4所述的基于持续连接机制的CDN缓存方法,其特征在于:所述方法采用带流水线的持续的TCP连接,持续的TCP连接包括两种:带流水线和不带流水线,在不带流水线的持续的TCP连接下,客户端的HTTP请求只能在上一个请求得到相应后才能发出,在带流水线的持续的TCP连接下,客户端在Web页面发现其他引用对象时就可以发起HTTP请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410534868.XA CN104283957A (zh) | 2014-10-13 | 2014-10-13 | 基于持续连接机制的cdn缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410534868.XA CN104283957A (zh) | 2014-10-13 | 2014-10-13 | 基于持续连接机制的cdn缓存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104283957A true CN104283957A (zh) | 2015-01-14 |
Family
ID=52258430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410534868.XA Pending CN104283957A (zh) | 2014-10-13 | 2014-10-13 | 基于持续连接机制的cdn缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104283957A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471869A (zh) * | 2015-11-23 | 2016-04-06 | 珠海全志科技股份有限公司 | 一种互联网电视内容请求的连接复用方法及系统 |
CN107135266A (zh) * | 2017-05-19 | 2017-09-05 | 成都极玩网络技术有限公司 | Http代理框架安全数据传输方法 |
CN109327511A (zh) * | 2018-09-18 | 2019-02-12 | 网宿科技股份有限公司 | 一种基于http协议的数据请求方法和服务器 |
CN109729176A (zh) * | 2019-01-22 | 2019-05-07 | 厦门美图之家科技有限公司 | 网络请求方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621532A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种使用线程池实现超文本传输协议应用的方法 |
-
2014
- 2014-10-13 CN CN201410534868.XA patent/CN104283957A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621532A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种使用线程池实现超文本传输协议应用的方法 |
Non-Patent Citations (3)
Title |
---|
李磊,: ""Web加速系统中前端模块的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
汤迪斌等,: ""一种TCP连接的延迟多次迁移技术"", 《计算机工程与应用》 * |
汪黎,: ""TCP连接迁移实现研究"", 《中国优秀硕士学位论文全文数据库-信息科技辑 》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471869A (zh) * | 2015-11-23 | 2016-04-06 | 珠海全志科技股份有限公司 | 一种互联网电视内容请求的连接复用方法及系统 |
CN107135266A (zh) * | 2017-05-19 | 2017-09-05 | 成都极玩网络技术有限公司 | Http代理框架安全数据传输方法 |
CN107135266B (zh) * | 2017-05-19 | 2020-11-13 | 北京网高科技股份有限公司 | Http代理框架安全数据传输方法 |
CN109327511A (zh) * | 2018-09-18 | 2019-02-12 | 网宿科技股份有限公司 | 一种基于http协议的数据请求方法和服务器 |
US11330035B2 (en) | 2018-09-18 | 2022-05-10 | Wangsu Science & Technology Co., Ltd. | Method and server for HTTP protocol-based data request |
CN109729176A (zh) * | 2019-01-22 | 2019-05-07 | 厦门美图之家科技有限公司 | 网络请求方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778554B2 (en) | Latency measurement in resource requests | |
US9912740B2 (en) | Latency measurement in resource requests | |
US9185012B2 (en) | Latency measurement in resource requests | |
US8930513B1 (en) | Latency measurement in resource requests | |
US9210235B2 (en) | Client side cache management | |
US20170257340A1 (en) | Managing request routing information utilizing client identifiers | |
CN103780679B (zh) | 基于http协议的长延时远程调用方法 | |
US20120096116A1 (en) | Content distribution network using a web browser and locally stored content to directly exchange content between users | |
US9270750B1 (en) | Distributed cloud computing platform and content delivery network | |
WO2015043413A1 (en) | Method and device for sending requests | |
CN101237429A (zh) | 基于内容分发网络的流媒体直播系统、方法及装置 | |
WO2017174026A1 (zh) | 一种客户端连接方法及系统 | |
CN104283957A (zh) | 基于持续连接机制的cdn缓存方法 | |
US11734367B2 (en) | Direct data center request for proxy web scraping | |
CN103401946A (zh) | Http上传加速方法和系统 | |
CN103701928A (zh) | 应用于负载均衡器提高服务器和ssl网关运行效率的方法 | |
CN100377522C (zh) | 一种内容分发网络中oma下载的实现方法 | |
CN104519088A (zh) | 一种缓存系统的实现方法及缓存系统 | |
EP3389240B1 (en) | Method and system for processing cache cluster service | |
US20140074912A1 (en) | Communication apparatus, relay apparatus and communication method | |
CN106330994A (zh) | 一种用户消息发布方法及系统 | |
CN101895550B (zh) | 一种应用于互联网网站的兼容动静态内容的缓冲加速方法 | |
US20230018983A1 (en) | Traffic counting for proxy web scraping | |
CN105431835A (zh) | 内容传递网络中的自适应流式传输段文件的碎片整理 | |
US9288153B2 (en) | Processing encoded content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150114 |