CN117992689A - 重复利用网页响应结果提高网页性能方法及*** - Google Patents
重复利用网页响应结果提高网页性能方法及*** Download PDFInfo
- Publication number
- CN117992689A CN117992689A CN202410396567.9A CN202410396567A CN117992689A CN 117992689 A CN117992689 A CN 117992689A CN 202410396567 A CN202410396567 A CN 202410396567A CN 117992689 A CN117992689 A CN 117992689A
- Authority
- CN
- China
- Prior art keywords
- content
- resource
- cacheable
- cache
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 title claims abstract description 41
- 230000008859 change Effects 0.000 claims abstract description 67
- 230000003068 static effect Effects 0.000 claims abstract description 45
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000004064 recycling Methods 0.000 claims abstract description 6
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 230000036541 health Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供重复利用网页响应结果提高网页性能方法及***,涉及网页技术领域,包括识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过匹配所述用户的目标CDN节点向所述用户提供所述目标网页的可缓存内容。
Description
技术领域
本发明涉及网页技术,尤其涉及一种重复利用网页响应结果提高网页性能方法及***。
背景技术
目前,提高网页性能的方法主要包括如下三种优化策略:
1.图像和多媒体优化
策略描述: 图像和视频通常是网页中最大的资源。通过使用格式压缩、图片懒加载、响应式图片等技术,可以显著减少这些资源的大小和加载时间。
技术不足: 该策略的不足之处在于,过度压缩可能会损失图像质量。同时,对于复杂的图像处理和多媒体格式兼容性,需要额外的开发和测试工作。
2.使用内容分发网络 (CDN)
策略描述: CDN可以将内容分布在全球的服务器上,使用户能够从地理上更近的位置快速获取内容,减少延迟。
技术不足: 虽然CDN可以提高访问速度和扩展网站的全球访问能力,但它可能涉及较高的成本,并且在CDN提供商出现问题时,可能会影响网站的可用性。
3.前端资源优化(如 JavaScript 和 CSS 文件的压缩与合并)
策略描述: 将多个CSS或JavaScript文件合并成一个文件,并对其进行压缩,以减少HTTP请求的数量和总体积。
技术不足: 这种方法的缺点是它可能导致单个文件变得非常大,从而影响解析和执行时间。此外,不恰当的合并可能导致页面加载时的渲染阻塞。
每种策略都有其适用的场景,但也存在特定的局限性。在实际的优化过程中,通常需要结合多种策略,并针对具体的网站和用户群体进行定制化调整。
发明内容
本发明实施例提供一种重复利用网页响应结果提高网页性能方法及***,至少能够解决现有技术中部分问题。
本发明实施例的第一方面,
提供一种重复利用网页响应结果提高网页性能方法,包括:
识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
在一种可选的实施方式中,
所述识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况,包括:
使用网站分析工具列举出所述目标网页内的所有加载资源,并将各所述加载资源按是或否经常变更划分为所述静态资源或所述动态资源;其中,所述静态资源包括:图像、CSS样式表、JavaScript文件;所述动态资源包括:API响应、用户特定内容;
在通过版本控制***或手动记录方式得到的所述目标网页的日志记录中,分析各类型所述加载资源的更新频率和更新模式,并建立与所述更新频率和所述更新模式对应的缓存时长策略基准。
在一种可选的实施方式中,
所述通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页,包括:
当使用Cache-Control头时,将所述内容变更情况中具有第一变更频率的静态资源配置为:Cache-Control: public, max-age=XXXX,所述XXXX为相应资源应被缓存的秒数,对所述内容变更情况中具有第二变更频率的动态资源使用Cache-Control: no-cache或Cache-Control: no-store配置参数,以确保相应内容从相应的服务器获取最新版本,所述第一变更频率指变更频率低于预设频率,所述第二变更频率指变更频率高于所述预设频率;
当使用Expires头时,对于所述内容变更情况中具有所述第一变更频率的可缓存资源,设置一个未来时刻的Expires头,以避免在所述未来时刻之前均不需要重新请求相应的可缓存资源;
当使用Last-Modified头时,对每个所述可缓存资源添加Last-Modified头作为用于标记最后一次修改时间的时间标签;
当利用ETag头时,为每个所述可缓存资源生成一个唯一的用于标识特定版本的ETag值,以用于确定相应的可缓存资源的版本是否已更改;
对包括所述Cache-Control、所述Expires、所述Last-Modified、和所述ETag在内的各种HTTP头,按照经由上述方式抽象出的缓存策略进行与各所述可缓存内容相对应的内容变更情况匹配的缓存时长的设置操作;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长。
在一种可选的实施方式中,
所述方法还包括:
根据目标网站中实际的可缓存内容的变化和用户的访问模式,对所述缓存策略进行定期复查的调整。
在一种可选的实施方式中,
所述根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,包括:
分别从软件和硬件层面,选择与实际需求匹配的负载均衡器,并在所述服务器上安装所选的负载均衡器软件,以及对所述负载均衡器进行包括定义服务器池、指定监控和健康检查参数在内的基本配置;
在完成所述基本配置的负载均衡器配置中添加所有要均衡负载的服务器地址,并为每个所述服务器设置不同的权重,以根据其处理能力和流量进行请求的分配,从而将完成配置的服务器添加到预设池;对完成配置的服务器进行健康检查,并将未经过健康检查的服务器从所述预设池中移除直到恢复正常;
在轮询、最少连接或基于资源的分配的负载均衡策略中,选择符合实际情况的目标负载均衡策略,并根据采用了所述目标负载均衡策略的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给所述目标服务器。
在一种可选的实施方式中,
所述方法还包括:
通过对所述目标网页的内容结构和关键元素进行深度分析,识别出对用户访问体验影响最大的关键内容;其中,所述关键内容包括:主体文本、核心图像;
利用哈希或其他指纹技术来检测所述关键内容的变化,并仅在所述关键内容发生变化时触发一次缓存刷新,且所述目标网页中非所述关键内容外的其它部分内容则保持不变。
在一种可选的实施方式中,
所述方法还包括:
利用边缘计算技术预先将数据处理和内容缓存分布在接近用户所在位置的网络边缘,并在靠近用户地理位置的边缘节点上缓存构成网页的可缓存内容;
通过识别发起所述访问请求的设备的性能和存储能力,动态的调整缓存大小,以优先为高频访问资源分配更多的缓存空间以及在剩余存储空间充足时缓存更多的内容。
本发明实施例的第二方面,
提供一种重复利用网页响应结果提高网页性能***,包括:
第一单元,用于识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
第二单元,用于通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
第三单元,用于根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
本发明实施例的第三方面,
提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述所述的方法。
本发明实施例的第四方面,
提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述所述的方法。
本申请通过精确识别目标网页内的可缓存内容并为这些内容设置合适的缓存时长,能够显著减少服务器对重复内容的处理请求,从而加快网页的加载速度,静态资源由于具有更长的缓存时长,用户在再次访问网页时能够从本地缓存或距离较近的CDN节点迅速加载这些内容,减少了数据的传输时间。采用负载均衡机制,根据服务器的实际负载和响应时间动态地分配用户请求,可以有效地平衡各服务器的负载压力,这不仅提升了服务器的处理效率,还减少了单点过载的风险,从而延长服务器的寿命并降低了运营成本。通过匹配用户的目标CDN节点来提供静态资源,可以确保用户从地理位置上最近的节点获取数据,进一步降低了网页内容的加载时间。这种优化不仅提高了网页的响应速度,也改善了用户的整体访问体验,特别是对于那些重复访问网页的用户。
附图说明
图1为本发明实施例重复利用网页响应结果提高网页性能方法的流程示意图;
图2为本发明实施例重复利用网页响应结果提高网页性能***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例重复利用网页响应结果提高网页性能方法的流程示意图,如图1所示,所述方法包括:
S101. 识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
S102. 通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
S103. 根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
在一种可选的实施方式中,
所述识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况,包括:
使用网站分析工具列举出所述目标网页内的所有加载资源,并将各所述加载资源按是或否经常变更划分为所述静态资源或所述动态资源;其中,所述静态资源包括:图像、CSS样式表、JavaScript文件;所述动态资源包括:API响应、用户特定内容;
在通过版本控制***或手动记录方式得到的所述目标网页的日志记录中,分析各类型所述加载资源的更新频率和更新模式,并建立与所述更新频率和所述更新模式对应的缓存时长策略基准。
在一种可选的实施方式中,
所述通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页,包括:
当使用Cache-Control头时,将所述内容变更情况中具有第一变更频率的静态资源配置为:Cache-Control: public, max-age=XXXX,所述XXXX为相应资源应被缓存的秒数,对所述内容变更情况中具有第二变更频率的动态资源使用Cache-Control: no-cache或Cache-Control: no-store配置参数,以确保相应内容从相应的服务器获取最新版本,所述第一变更频率指变更频率低于预设频率,所述第二变更频率指变更频率高于所述预设频率;
当使用Expires头时,对于所述内容变更情况中具有所述第一变更频率的可缓存资源,设置一个未来时刻的Expires头,以避免在所述未来时刻之前均不需要重新请求相应的可缓存资源;
当使用Last-Modified头时,对每个所述可缓存资源添加Last-Modified头作为用于标记最后一次修改时间的时间标签;
当利用ETag头时,为每个所述可缓存资源生成一个唯一的用于标识特定版本的ETag值,以用于确定相应的可缓存资源的版本是否已更改;
对包括所述Cache-Control、所述Expires、所述Last-Modified、和所述ETag在内的各种HTTP头,按照经由上述方式抽象出的缓存策略进行与各所述可缓存内容相对应的内容变更情况匹配的缓存时长的设置操作;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长。
在一种可选的实施方式中,
所述方法还包括:
根据所述目标网站中实际的可缓存内容的变化和用户的访问模式,对所述缓存策略进行定期复查的调整。
在一种可选的实施方式中,
所述根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,包括:
分别从软件和硬件层面,选择与实际需求匹配的负载均衡器,并在所述服务器上安装所选的负载均衡器软件,以及对所述负载均衡器进行包括定义服务器池、指定监控和健康检查参数在内的基本配置;
在完成所述基本配置的负载均衡器配置中添加所有要均衡负载的服务器地址,并为每个所述服务器设置不同的权重,以根据其处理能力和流量进行请求的分配,从而将完成配置的服务器添加到预设池;对完成配置的服务器进行健康检查,并将未经过健康检查的服务器从所述预设池中移除直到恢复正常;
在轮询、最少连接或基于资源的分配的负载均衡策略中,选择符合实际情况的目标负载均衡策略,并根据采用了所述目标负载均衡策略的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给所述目标服务器。
在一种可选的实施方式中,
所述方法还包括:
通过对所述目标网页的内容结构和关键元素进行深度分析,识别出对用户访问体验影响最大的关键内容;其中,所述关键内容包括:主体文本、核心图像;
利用哈希或其他指纹技术来检测所述关键内容的变化,并仅在所述关键内容发生变化时触发一次缓存刷新,且所述目标网页中非所述关键内容外的其它部分内容则保持不变。
在一种可选的实施方式中,
所述方法还包括:
利用边缘计算技术预先将数据处理和内容缓存分布在接近用户所在位置的网络边缘,并在靠近用户地理位置的边缘节点上缓存构成网页的可缓存内容;
通过识别发起所述访问请求的设备的性能和存储能力,动态的调整缓存大小,以优先为高频访问资源分配更多的缓存空间以及在剩余存储空间充足时缓存更多的内容。
进一步地,给出本申请的整体技术方案框架可以包括:
识别可缓存内容:
分析网页内容: 识别哪些内容是静态的或不频繁变化的,如图片、CSS、JavaScript文件。
判断内容的变更频率: 确定这些资源更新的频率,以便合理设置缓存策略。
本申请还提供一种具体实施例,具体地:
数据收集: 使用网站分析工具(如Google Chrome的DevTools)来列出所有加载的资源,包括图片、CSS文件、JavaScript文件、字体等。
静态资源识别: 将资源分为静态和动态两类。静态资源通常包括图像、CSS样式表、JavaScript文件等不经常变更的文件。
动态资源识别: 识别出频繁更新或根据用户请求改变的资源,如API响应和用户特定内容。
创建资源变更日志,日志记录: 对于网站的主要资源,记录它们的更新历史。可以通过版本控制***或者手动记录。
分析更新模式;可以包括历史数据分析: 通过日志,分析每种资源的更新频率和模式。例如,某些图片可能几乎不更改,而某些API的响应可能每天都有变化。
设定缓存策略基准;其中,静态资源: 对于更新频率低的静态资源,可以设置较长的缓存时间。动态资源: 对于频繁更新的资源,应设定较短的缓存时间或使用更复杂的缓存策略,如基于内容变更的缓存失效。
实现客户端缓存:配置HTTP缓存头: 使用Cache-Control, Expires, Last-Modified, 和 ETag等HTTP头来控制客户端(浏览器)缓存。设置合理的缓存时长: 根据内容的更新频率设定缓存时间。具体地:
配置HTTP缓存头;
使用Cache-Control头;
基础设置: 为静态资源设置Cache-Control: public, max-age=XXXX,其中XXXX是资源应该被缓存的时间(以秒为单位)。
动态内容设置: 对于动态内容,使用Cache-Control: no-cache或Cache-Control: no-store,确保这些内容总是从服务器获取最新版本。
应用Expires头;
设置过期时间: 对于那些不常更新的资源,可以设置一个未来的Expires头,这样浏览器知道在这个日期之前不需要重新请求资源。
使用Last-Modified头;
时间标签: 对每个资源添加Last-Modified头,标记资源最后一次修改的时间。这对于浏览器在后续访问中验证资源是否更新非常有用。
利用ETag头;
唯一标识: 为每个资源生成一个唯一的ETag值(一种资源的特定版本标识),以帮助浏览器确定资源是否已更改。
分析资源更新频率;其中,数据驱动: 根据资源更新频率,决定不同资源类型的缓存时长。
静态资源缓存时长;包括长期缓存: 对于不经常变更的静态资源,如图片、CSS和JavaScript文件,可以设置较长的缓存时长(例如一年)。
动态内容缓存策略;包括短期或无缓存: 对于经常变更的内容,设置较短的缓存时长或完全不缓存,以确保用户总能获得最新内容。
缓存策略的更新与调整;包括持续优化: 定期复查缓存策略,根据网站内容的变化和用户的访问模式进行调整。
使用负载均衡;
部署负载均衡器,如Nginx或HAProxy。根据服务器负载和响应时间,动态分配请求。
具体地:可以选择负载均衡器;选择软件: 根据需求选择适合的负载均衡器,例如Nginx或HAProxy。硬件考虑: 对于高流量网站,考虑使用专业的硬件负载均衡器。
安装和配置;
安装软件: 在服务器上安装所选的负载均衡器软件。
基本配置: 设置负载均衡器,包括定义服务器池、指定监控和健康检查的参数。
设置服务器池;
添加服务器到池;
服务器列表: 在负载均衡器配置中添加所有要均衡负载的服务器地址。
权重分配: 如有必要,为每个服务器设置不同的权重,根据其处理能力和流量分配请求。
配置健康检查;
检查机制: 实现健康检查机制,以确保所有请求都被发送到健康的服务器。
自动移除: 如果服务器未通过健康检查,自动从池中移除,直到恢复正常。
负载分配策略;
选择策略: 选择一个合适的负载均衡策略,如轮询、最少连接或基于资源的分配。
动态调整: 根据服务器的实时负载和响应时间动态调整请求分配。
以轮询为例:
实现基本的轮询机制;服务器列表配置;列出所有参与负载均衡的服务器。确保每个服务器都能够处理请求。
轮询逻辑设置;在负载均衡器中设置轮询逻辑,使得每个新的请求按顺序分配给下一个服务器。确保所有服务器按顺序接收请求。
监控服务器性能;
性能监控工具部署;部署性能监控工具来跟踪每个服务器的负载情况和响应时间。定期收集和分析性能数据。实时负载和响应时间记录;记录每个服务器的实时负载(如CPU和内存使用率)和响应时间。为动态调整提供数据支持。
动态调整请求分配;
负载评估;定期评估每个服务器的负载情况和响应时间。确定是否有服务器过载或处于低负载状态。
权重调整;在轮询逻辑中实施权重机制。对于性能较好或负载较低的服务器,增加其处理请求的频率。对于负载较高的服务器,降低其处理请求的频率。
自动调整机制;
实现一个自动化的***,根据实时数据自动调整服务器的权重。确保***能够快速响应负载变化,实时调整请求分配。
性能监控;
监控工具: 使用监控工具来跟踪每个服务器的性能和响应时间。数据分析: 分析这些数据,优化负载均衡策略,以确保最高效的资源利用。
应用CDN(内容分发网络);
选择CDN提供商: 选择适合网站内容和目标用户群的CDN。缓存静态资源: 在CDN节点缓存网站的静态资源,如图片、CSS和JavaScript文件。
优化缓存策略;
实现智能缓存刷新: 采用内容感知的缓存刷新策略,只在关键内容变化时刷新缓存。调整缓存策略: 根据网站访问模式和用户反馈,不断调整和优化缓存策略。
优化缓存策略又进一步包括:
内容感知的智能缓存刷新机制;方法逻辑: 利用哈希或其他指纹技术来检测内容的具体变化,仅在关键内容(如主体文本、核心图片)发生变化时刷新缓存。
技术介绍: 通过对网页内容的结构和关键元素进行深度分析,可以识别出对用户体验影响最大的部分。这些部分的变化将触发缓存刷新,而其他部分保持不变,从而优化缓存使用效率。
具体地:
生成初始哈希值;对每个关键内容(如文本段、图片)生成哈希值。使用如MD5、SHA-1等常见哈希算法。
存储哈希值;将生成的哈希值存储在数据库或缓存***中。确保每次内容更新后,都更新相应的哈希值。
监测内容变化;
定期(或基于特定事件)对关键内容重新计算哈希值。比较新旧哈希值,以确定内容是否发生变化。
变化识别;
如果哈希值发生变化,标记该内容为已更新。如果哈希值未变,保持当前缓存状态不变。
缓存刷新决策;刷新策略制定;确定当关键内容更新时的缓存刷新策略。可以选择完全刷新或部分刷新。实施缓存更新;根据策略,仅在检测到关键内容变化时刷新缓存。避免无关内容的变化导致不必要的缓存刷新。
边缘计算结合的缓存优化;
方法逻辑: 在用户地理位置附近的边缘节点上缓存内容,以减少数据传输时间,提高响应速度。
技术介绍: 边缘计算技术使得可以将数据处理和内容缓存分布在网络的边缘,接近用户所在位置。这样可以显著减少延迟,加快内容加载速度,特别是对于那些有地理位置依赖性的服务更为有效。
自适应缓存大小管理;
方法逻辑: 根据用户设备的存储能力和性能动态调整缓存大小,优先为高频访问资源分配更多的缓存空间。
技术介绍: 通过识别用户设备的性能和存储能力,可以动态调整缓存策略。这种自适应方法意味着在资源较少的设备上,***会优化缓存空间的使用,而在资源充足的设备上,则可以更加激进地缓存内容。
具体地:
设备性能和存储能力评估;收集设备信息;获取用户设备的硬件信息,如CPU性能、RAM大小和存储空间。使用JavaScript或服务端逻辑来评估和收集这些信息。
评估存储能力;根据设备的存储空间确定可用于缓存的最大空间。考虑为不同类型的设备设置不同的缓存限制。
用户访问模式分析;追踪访问频率;通过日志分析或客户端脚本,记录用户访问各类资源的频率。识别高频访问和低频访问资源。
行为模式识别;使用数据分析工具识别用户行为模式。区分短期高频访问和长期稳定访问的资源。
动态调整缓存策略;
制定缓存规则;根据用户的设备性能和访问模式,制定灵活的缓存规则。为高频访问资源分配更多缓存空间。
自适应调整;实时监控设备状态和用户行为,动态调整缓存大小和策略。优化缓存分配,确保最佳性能和用户体验。
缓存效率和性能监控;定期检查缓存的命中率和加载时间。分析缓存策略对网页性能的影响。
调整策略;根据监控数据调整缓存规则和大小。确保缓存策略既有效又不会过度占用用户设备资源。
实际案例:
基于设备的缓存限制;
对于高端设备(例如,RAM ≥ 4GB,高速CPU):最大缓存限制设为200MB。
对于中端设备(例如,RAM ≥ 2GB,中速CPU):最大缓存限制设为100MB。
对于低端设备(例如,RAM < 2GB,低速CPU):最大缓存限制设为50MB。
基于访问频率的资源缓存;
高频访问资源(每日访问次数超过某个阈值,如10次):缓存时间延长至一周。中频访问资源(每周访问2-10次):缓存时间设为3天。低频访问资源(不到每周2次):缓存时间设为1天或不缓存。
特殊资源处理;
对于大型媒体文件(如视频、大图片):即使是高频访问,也需要考虑其占用的存储空间,可能适当减少缓存时间。
图2为本发明实施例重复利用网页响应结果提高网页性能***的结构示意图,如图2所示,所述***包括:
第一单元,用于识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
第二单元,用于通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
第三单元,用于根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
本发明实施例的第三方面,
提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述所述的方法。
本发明实施例的第四方面,
提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述所述的方法。
本发明可以是方法、装置、***和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种重复利用网页响应结果提高网页性能方法,其特征在于,包括:
识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
2.根据权利要求1所述的方法,其特征在于,所述识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况,包括:
使用网站分析工具列举出所述目标网页内的所有加载资源,并将各所述加载资源按是或否经常变更划分为所述静态资源或所述动态资源;其中,所述静态资源包括:图像、CSS样式表、JavaScript文件;所述动态资源包括:API响应、用户特定内容;
在通过版本控制***或手动记录方式得到的所述目标网页的日志记录中,分析各类型所述加载资源的更新频率和更新模式,并建立与所述更新频率和所述更新模式对应的缓存时长策略基准。
3.根据权利要求2所述的方法,其特征在于,所述通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页,包括:
当使用Cache-Control头时,将所述内容变更情况中具有第一变更频率的静态资源配置为:Cache-Control: public, max-age=XXXX,所述XXXX为相应资源应被缓存的秒数,对所述内容变更情况中具有第二变更频率的动态资源使用Cache-Control: no-cache或Cache-Control: no-store配置参数,以确保相应内容从相应的服务器获取最新版本,所述第一变更频率指变更频率低于预设频率,所述第二变更频率指变更频率高于所述预设频率;
当使用Expires头时,对于所述内容变更情况中具有所述第一变更频率的可缓存资源,设置一个未来时刻的Expires头,以避免在所述未来时刻之前均不需要重新请求相应的可缓存资源;
当使用Last-Modified头时,对每个所述可缓存资源添加Last-Modified头作为用于标记最后一次修改时间的时间标签;
当利用ETag头时,为每个所述可缓存资源生成一个唯一的用于标识特定版本的ETag值,以用于确定相应的可缓存资源的版本是否已更改;
对包括所述Cache-Control、所述Expires、所述Last-Modified、和所述ETag在内的各种HTTP头,按照经由上述方式抽象出的缓存策略进行与各所述可缓存内容相对应的内容变更情况匹配的缓存时长的设置操作;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据目标网站中实际的可缓存内容的变化和用户的访问模式,对所述缓存策略进行定期复查的调整。
5.根据权利要求4所述的方法,其特征在于,所述根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,包括:
分别从软件和硬件层面,选择与实际需求匹配的负载均衡器,并在所述服务器上安装所选的负载均衡器软件,以及对所述负载均衡器进行包括定义服务器池、指定监控和健康检查参数在内的基本配置;
在完成所述基本配置的负载均衡器配置中添加所有要均衡负载的服务器地址,并为每个所述服务器设置不同的权重,以根据其处理能力和流量进行请求的分配,从而将完成配置的服务器添加到预设池;对完成配置的服务器进行健康检查,并将未经过健康检查的服务器从所述预设池中移除直到恢复正常;
在轮询、最少连接或基于资源的分配的负载均衡策略中,选择符合实际情况的目标负载均衡策略,并根据采用了所述目标负载均衡策略的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给所述目标服务器。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过对所述目标网页的内容结构和关键元素进行深度分析,识别出对用户访问体验影响最大的关键内容;其中,所述关键内容包括:主体文本、核心图像;
利用哈希或其他指纹技术来检测所述关键内容的变化,并仅在所述关键内容发生变化时触发一次缓存刷新,且所述目标网页中非所述关键内容外的其它部分内容则保持不变。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用边缘计算技术预先将数据处理和内容缓存分布在接近用户所在位置的网络边缘,并在靠近用户地理位置的边缘节点上缓存构成网页的可缓存内容;
通过识别发起所述访问请求的设备的性能和存储能力,动态调整缓存大小,以优先为高频访问资源分配更多的缓存空间以及在剩余存储空间充足时缓存更多的内容。
8.一种重复利用网页响应结果提高网页性能***,用于实现前述权利要求1-7中任一项所述的方法,其特征在于,包括:
第一单元,用于识别目标网页内的可缓存内容,并确定各所述可缓存内容所属的资源类型,且分别确定各所述资源类型下的可缓存内容的内容变更情况;其中,所述资源类型包括静态资源和动态资源;
第二单元,用于通过配置HTTP缓存头的方式为各所述可缓存内容设置与对应的内容变更情况匹配的缓存时长,得到配置完成的目标网页;其中,所述静态资源的缓存时长大于所述动态资源的缓存时长;
第三单元,用于根据采用了负载均衡机制的服务器的实际负载和实际响应时间,将用户发起对配置完成的目标网页的访问请求动态的分配给目标服务器,并通过与所述用户匹配的目标CDN节点向所述用户提供所述目标网页的可缓存内容;其中,所述目标CDN节点中至少缓存有所述目标网页的静态资源。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410396567.9A CN117992689B (zh) | 2024-04-03 | 2024-04-03 | 重复利用网页响应结果提高网页性能方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410396567.9A CN117992689B (zh) | 2024-04-03 | 2024-04-03 | 重复利用网页响应结果提高网页性能方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117992689A true CN117992689A (zh) | 2024-05-07 |
CN117992689B CN117992689B (zh) | 2024-05-31 |
Family
ID=90899592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410396567.9A Active CN117992689B (zh) | 2024-04-03 | 2024-04-03 | 重复利用网页响应结果提高网页性能方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992689B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456035A (zh) * | 2010-10-28 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种网页资源缓存控制方法、装置及*** |
US20140012681A1 (en) * | 2012-07-06 | 2014-01-09 | International Business Machines Corporation | Remotely cacheable variable web content |
CN107025234A (zh) * | 2016-02-01 | 2017-08-08 | ***通信集团公司 | 一种信息推送方法及缓存服务器 |
CN109672534A (zh) * | 2017-10-16 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 网络资源的处理方法、装置、存储介质和电子装置 |
-
2024
- 2024-04-03 CN CN202410396567.9A patent/CN117992689B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456035A (zh) * | 2010-10-28 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种网页资源缓存控制方法、装置及*** |
US20140012681A1 (en) * | 2012-07-06 | 2014-01-09 | International Business Machines Corporation | Remotely cacheable variable web content |
CN107025234A (zh) * | 2016-02-01 | 2017-08-08 | ***通信集团公司 | 一种信息推送方法及缓存服务器 |
CN109672534A (zh) * | 2017-10-16 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 网络资源的处理方法、装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117992689B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11140211B2 (en) | Systems and methods for caching and serving dynamic content | |
US10110695B1 (en) | Key resource prefetching using front-end optimization (FEO) configuration | |
US10261938B1 (en) | Content preloading using predictive models | |
US8554790B2 (en) | Content based load balancer | |
US6317778B1 (en) | System and method for replacement and duplication of objects in a cache | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US6640240B1 (en) | Method and apparatus for a dynamic caching system | |
US10079907B2 (en) | Cached data detection | |
US9195773B2 (en) | Structure-based adaptive document caching | |
US20030101231A1 (en) | Caching dynamic web documents | |
US20050097085A1 (en) | Method for prioritizing content | |
US8429130B2 (en) | Optimized prefetching for wide area networks | |
US10165039B1 (en) | Pre-connecting to a cacheable resource based on page profiles | |
US20160335177A1 (en) | Cache Management Method and Apparatus | |
CN109981659B (zh) | 基于数据去重技术的网络资源预取方法以及*** | |
CN117992689B (zh) | 重复利用网页响应结果提高网页性能方法及*** | |
Ramu et al. | A study on web prefetching techniques | |
Küngas et al. | Configurable SOAP proxy cache for data provisioning web services | |
Patil et al. | High quality design and methodology aspects to enhance large scale web services | |
Shivakumar et al. | A survey and analysis of techniques and tools for web performance optimization | |
de la Ossa et al. | Key factors in web latency savings in an experimental prefetching system | |
Tan et al. | Analyzing document-duplication effects on policies for browser and proxy caching | |
Panwar et al. | A Novel Probability based Approach for Optimized Prefetching | |
KR100943996B1 (ko) | 웹 브라우저와 웹 서버의 통신 속도 가속 방법 및 그러한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체 | |
KR20190073358A (ko) | 헤더 수정을 사용한 프리페치 캐시 관리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |