[发明专利]一种HTTP缓存优化方法与装置有效
申请号: | 201810791726.X | 申请日: | 2018-07-18 |
公开(公告)号: | CN108920703B | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 张田田 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 回旋 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 http 缓存 优化 方法 装置 | ||
本发明公开了一种HTTP缓存优化方法与装置包括:接收服务器对浏览器所发出请求的响应;当响应为动态资源、并且请求中不包括数据标识信息时,缓存响应和其中的数据标识信息并将其反馈到浏览器;当响应为动态资源、并且请求中包括数据标识信息时,比较响应所包含的数据标识信息和缓存的数据标识信息、并根据比较的结果来选择性地使浏览器读取缓存或重新请求响应。本发明还公开了一种相应的缓存优化装置和缓存服务器。基于本发明的技术方案,能够针对不同浏览器或不同类型的浏览器来优化缓存,降低加载时间,维护数据的完整性与一致性,提升用户体验。
技术领域
本发明涉及计算机领域,更具体地,特别是指一种HTTP缓存优化方法与装置。
背景技术
现有技术的浏览器缓存策略,对于请求服务端的静态资源(比如图片、JS和C等等)已经可以做到精确匹配。但是,对于服务端的业务数据,特别是一些每时每刻都发生变化的资源,就无法满足精确匹配的需求。有一些浏览器会通过一些手段来规避该问题,比如火狐和谷歌浏览器在遇见此类请求时,直接放弃缓存请求服务端返回数据以保证数据的完整性。这使得每次打开页面都会重新请求资源,加载时间过长,导致用户打开页面体验感变差;另外,IE浏览器它在判断缓存有效后直接加载数据以保留用户体验,但这种方法在服务器端数据发生变化时不能即时更新导致数据异常。
针对现有技术中的页面请求加载时间长、数据一致性差等问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种HTTP缓存优化方法与装置,能够针对不同浏览器或不同类型的浏览器来优化缓存,降低加载时间,维护数据的完整性与一致性,提升用户体验。
基于上述目的,本发明实施例的一方面提供了一种HTTP缓存优化方法,包括以下步骤:
接收服务器对浏览器所发出请求的响应;
当所述响应为动态资源、并且所述请求中不包括数据标识信息时,缓存所述响应和其中的数据标识信息并将其反馈到所述浏览器;
当所述响应为动态资源、并且所述请求中包括数据标识信息时,比较所述响应所包含的数据标识信息和缓存的所述数据标识信息、并根据比较的结果来选择性地使所述浏览器读取缓存或重新请求响应。
根据本发明的一个实施例,
当所述响应为动态资源、并且所述请求中不包括所述数据标识信息时,所述响应包括与所述请求相对应的页面内容信息和根据所述页面内容信息生成的所述数据标识信息;
当所述响应为动态资源、并且所述请求中包括数据标识信息时,所述响应包括更新过的所述数据标识信息。
根据本发明的一个实施例,所述数据标识信息包括Etag和Last-Modified;其中所述Etag为所述响应的资源的唯一标识,所述Last-Modified为资源的最后修改时间。
根据本发明的一个实施例,更新过的所述数据标识信息包括不变的Etag和更新过的Last-Modified;比较所述响应所包含的所述数据标识信息和缓存的所述数据标识信息为:分别比较Etag和Last-Modified。
根据本发明的一个实施例,根据比较的结果来选择性地使所述浏览器读取缓存或根据所述响应更新缓存为:当所述请求中的和缓存的Etag和/或Last-Modified一致时使所述浏览器读取缓存,否则根据所述响应更新缓存。
根据本发明的一个实施例,使所述浏览器读取缓存为:向所述浏览器反馈HTTP304状态码或向所述浏览器发送缓存的页面内容信息。
根据本发明的一个实施例,重新请求响应包括:
将所述数据标识信息发送到所述服务器并请求新的响应;
根据所述新的响应中的新页面内容信息和新数据标识信息更新缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810791726.X/2.html,转载请声明来源钻瓜专利网。