一种Web页面的HTTP缓存机制实现方法及工具与流程

文档序号:35933972发布日期:2023-11-05 14:58阅读:34来源:国知局
一种Web页面的HTTP缓存机制实现方法及工具与流程

本发明涉及http缓存,具体的说是一种web页面的http缓存机制实现方法及工具。


背景技术:

1、缓存机制无处不在,有客户端缓存、服务端缓存、代理服务器缓存等。在http中具有缓存功能的是浏览器缓存,http缓存作为web性能优化的重要手段,对于web页面有重要的意义。

2、http缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。也就是说,当http缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的副本,而不会去源服务器重新下载。

3、假设没有缓存,试想一下,客户端多次访问一个原始服务器页面时,服务器会多次传输同一份文档,每次传送给一个客户端。一些相同的内容会在网络中一遍遍地传输。这些冗余的数据传输会耗尽昂贵的网络带宽,降低传输速度,加重web服务器的负载。而有了缓存,就可以保留第一条服务器响应的副本,后继请求就可以由缓存的副本来应对了,这样可以减少那些流入/流出原始服务器的、被浪费掉了的重复流量。通过复用以前获取的资源,可以减少网络请求时间、降低带宽消耗,显著提高网站和应用程序的性能。

4、一个web系统往往容易出现以下问题:大量的css、js、html等文件请求造成网络带宽的阻塞;大量用户操作众多请求都需要进到服务器,服务器处理请求性能瓶颈就会体现;每次的请求都从浏览器发出,然后服务器再响应给客户端,网络传输时间长并且使用的流量是付费的。

5、基于上述存在的问题,设计一种web页面的http缓存机制实现方法,使大量的用户请求能直接从客户端本地的缓存获取,而不需要经过网络和服务器的处理。


技术实现思路

1、本发明针对目前技术发展的需求和不足之处,提供一种web页面的http缓存机制实现方法及工具。

2、首先,本发明的一种web页面的http缓存机制实现方法,解决上述技术问题采用的技术方案如下:

3、一种web页面的http缓存机制实现方法,包括如下步骤:

4、浏览器收到客户端发起的资源请求;

5、浏览器根据请求的资源路径判断,先从本地查看是否有可用资源,

6、如果有本地缓存,则直接返回缓存的结果,

7、如果没有可用的缓存,则发送请求到服务器来获取对应资源;

8、服务器收到请求后,将对应的资源响应给浏览器;

9、浏览器收到服务器的响应数据后,对响应数据进行本地缓存,并对响应数据进行页面渲染后返回给客户端。

10、可选的,服务器将资源响应给浏览器时,会在响应头中添加以下字段:

11、缓存时间cache-control、资源编号etag、响应时间date、修改时间last-modified、过期时间点expires。

12、可选的,客户端第一次请求资源a时,浏览器收到请求,判断本地没有可用的缓存后,将请求发送到服务器;

13、服务器收到请求后,将资源a响应给浏览器,并且返回etag:"50b1c1d4f775c61:df3"这样的字样给浏览器,浏览器对服务器返回的资源a进行本地缓存。

14、进一步可选的,当客户端再次通过浏览器请求资源a的时候,浏览器会首先查看本地是否缓存过资源a,如果发现有缓存,则通过资源a的响应头信息检查资源a是否有效,如果有效,则直接从缓存中拿取资源a,如果失效,则向服务器发送请求,并将if-none-match:w/"50b1c1d4f775c61:df3"传输给服务器;

15、服务器收到请求后,对比资源a是否发生变化,如果资源a未发生改变,则返回304http状态码,不返回具体的资源,如果资源a发生改变,则返回最新的资源a’,并返回200http状态码。

16、客户端收到304http状态码时,直接从本地缓存获取资源a;

17、客户端收到200http状态码时,获取服务器返回的最新的资源a’,并进行本地缓存。

18、其次,本发明的一种web页面的http缓存机制实现工具,解决上述技术问题采用的技术方案如下:

19、一种web页面的http缓存机制实现工具,其包括:部署于浏览器的查找判断模块和缓存模块,部署于服务器的匹配响应模块,其中:

20、客户端通过浏览器发起资源请求,浏览器通过查找判断模块查看本地是否有可用的缓存,在本地无可用缓存时,浏览器将该资源请求发送到服务器,在本地有可用缓存时,将本地缓存的资源返回给客户端;

21、服务器收到请求后,通过匹配响应模块查找对应资源,并响应给浏览器,浏览器收到服务器的响应数据后,通过缓存模块对响应数据进行本地缓存,并对响应数据进行页面渲染后返回给客户端。

22、可选的,服务器通过匹配响应模块将查找到的资源响应给浏览器,同时,服务器通过匹配响应模块在响应头中添加以下字段:

23、缓存时间cache-control、资源编号etag、响应时间date、修改时间last-modified、过期时间点expires。

24、可选的,客户端通过浏览器第一次请求资源a时,浏览器收到请求后通过查找判断模块确定本地无可用缓存,浏览器将该资源请求发送到服务器;服务器收到请求后,通过匹配响应模块查找到资源a并响应给浏览器,同时返回etag:"50b1c1d4f775c61:df3"这样的字样给浏览器,浏览器对服务器返回的资源a进行本地缓存;

25、客户端通过浏览器再次请求资源a时,浏览器收到请求,首先通过查找判断模块查看本地是否有可用的缓存,如果发现有缓存,则通过资源a的响应头信息检查资源a是否有效,如果有效,则直接从缓存中拿取资源a,如果失效,则向服务器发送请求,并将if-none-match:w/"50b1c1d4f775c61:df3"传输给服务器;服务器收到请求后,通过匹配响应模块对比资源a是否发生变化,如果资源a未发生改变,则返回304http状态码,不返回具体的资源,如果资源a发生改变,则返回最新的资源a’,并返回200http状态码。

26、客户端收到304http状态码时,直接从本地缓存获取资源a;

27、客户端收到200http状态码时,获取服务器返回的最新的资源a’,并进行本地缓存。

28、本发明的一种web页面的http缓存机制实现方法及工具,与现有技术相比具有的有益效果是:

29、本发明针对用户经常发起的资源请求、且资源不频繁发生更新的情况,可以方便用户从客户端本地缓存直接获取想要的资源,而不需要经过网络和服务器的处理,不仅能减少网络带宽压力、服务器请求压力、还能提升用户体验减少流量产生的费用。



技术特征:

1.一种web页面的http缓存机制实现方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种web页面的http缓存机制实现方法,其特征在于,服务器将资源响应给浏览器时,会在响应头中添加以下字段:

3.根据权利要求2所述的一种web页面的http缓存机制实现方法,其特征在于,客户端第一次请求资源a时,浏览器收到请求,判断本地没有可用的缓存后,将请求发送到服务器;

4.根据权利要求3所述的一种web页面的http缓存机制实现方法,其特征在于,当客户端再次通过浏览器请求资源a的时候,浏览器会首先查看本地是否缓存过资源a,如果发现有缓存,则通过资源a的响应头信息检查资源a是否有效,如果有效,则直接从缓存中拿取资源a,如果失效,则向服务器发送请求,并将if-none-match:w/"50b1c1d4f775c61:df3"传输给服务器。

5.根据权利要求4所述的一种web页面的http缓存机制实现方法,其特征在于,服务器收到请求后,对比资源a是否发生变化,如果资源a未发生改变,则返回304http状态码,不返回具体的资源,如果资源a发生改变,则返回最新的资源a’,并返回200http状态码。

6.根据权利要求5所述的一种web页面的http缓存机制实现方法,其特征在于,客户端收到304http状态码时,直接从本地缓存获取资源a;

7.一种web页面的http缓存机制实现工具,其特征在于,其包括:部署于浏览器的查找判断模块和缓存模块,部署于服务器的匹配响应模块,其中:

8.根据权利要求7所述的一种web页面的http缓存机制实现工具,其特征在于,服务器通过匹配响应模块将查找到的资源响应给浏览器,同时,服务器通过匹配响应模块在响应头中添加以下字段:

9.根据权利要求8所述的一种web页面的http缓存机制实现工具,其特征在于,客户端通过浏览器第一次请求资源a时,浏览器收到请求后通过查找判断模块确定本地无可用缓存,浏览器将该资源请求发送到服务器;服务器收到请求后,通过匹配响应模块查找到资源a并响应给浏览器,同时返回etag:"50b1c1d4f775c61:df3"这样的字样给浏览器,浏览器对服务器返回的资源a进行本地缓存;

10.根据权利要求9所述的一种web页面的http缓存机制实现工具,其特征在于,客户端收到304http状态码时,直接从本地缓存获取资源a;


技术总结
本发明公开一种Web页面的HTTP缓存机制实现方法及工具,涉及HTTP缓存技术领域,包括:浏览器收到客户端发起的资源请求;浏览器根据请求的资源路径判断,先从本地查看是否有可用资源,如果有本地缓存,则进行强缓存,即直接使用本地缓存的资源,并返回给客户端,如果没有可用的缓存,则进行协议缓存,即发送请求到服务器来获取对应资源;服务器收到请求后,将对应的资源响应给浏览器;浏览器收到服务器的响应数据后,对响应数据进行本地缓存,并对响应数据进行页面渲染后返回给客户端。本发明尤其针对用户经常发起的资源请求、且资源不频繁发生更新的情况,可以方便用户从客户端本地缓存直接获取想要的资源,而不需要经过网络和服务器的处理。

技术研发人员:曹阳,魏子重,李锐
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1