旅游电商网站建设方案模板,wordpress uc,微信里面如何做网站,做思维导图好看的网站浏览器缓存的策略主要分为两种#xff1a;过期机制和验证机制。
过期机制#xff1a;是指浏览器根据资源的过期时间#xff0c;判断是否可以直接使用缓存中的副本#xff0c;而无需向服务器发起请求。过期时间可以通过以下两种方式设置#xff1a; Cache-Control#xf…浏览器缓存的策略主要分为两种过期机制和验证机制。
过期机制是指浏览器根据资源的过期时间判断是否可以直接使用缓存中的副本而无需向服务器发起请求。过期时间可以通过以下两种方式设置 Cache-Control这是一个HTTP响应头用于指定资源的最大有效期。例如Cache-Control: max-age3600表示资源在3600秒内有效之后需要重新请求。 Expires这也是一个HTTP响应头用于指定资源的具体过期时间。例如Expires: Wed, 21 Oct 2023 07:28:00 GMT表示资源在2023年10月21日7点28分过期之后需要重新请求。如果同时设置了Cache-Control和Expires那么Cache-Control的优先级更高。 验证机制是指浏览器在请求资源时向服务器发送一些标识询问资源是否有更新如果没有更新那么服务器返回304状态码表示资源未修改浏览器可以继续使用缓存中的副本如果有更新那么服务器返回200状态码以及最新的资源浏览器更新缓存并渲染资源。验证机制可以通过以下两种方式实现 Last-Modified这是一个HTTP响应头用于表示资源的最后修改时间。例如Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT表示资源在2023年10月21日7点28分被修改过。当浏览器再次请求该资源时会发送一个If-Modified-Since的HTTP请求头其值为上次的Last-Modified的值服务器根据这个值判断资源是否有更新。 ETag这是一个HTTP响应头用于表示资源的唯一标识。例如ETag: 5d8c72a5edda8d6a:0表示资源的ETag值为5d8c72a5edda8d6a:0。当浏览器再次请求该资源时会发送一个If-None-Match的HTTP请求头其值为上次的ETag的值服务器根据这个值判断资源是否有更新。 Last-Modified和ETag的比较
ETag比Last-Modified更准确因为如果打开没有修改的文件Last-Modified也会改变而且Last-Modified的单位时间是秒如果文件在一秒钟内被修改它仍然会命中缓存³。 ETag比Last-Modified更消耗性能因为服务器需要为每个资源生成和比较ETag的值而Last-Modified只需要获取文件的修改时间即可。 如果同时设置了Last-Modified和ETag那么服务器会优先根据ETag的值判断资源是否有更新