做直播网站开发教程,网站建设刂搜金手指下拉二五,东明住房和城乡建设局网站,个人养老金制度出台有望年底浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制#xff0c;以便在将来的请求中能够更快地获取这些资源#xff0c;减少对服务器的请求#xff0c;提高页面加载速度。浏览器缓存主要涉及到两个方面#xff1a;缓存控制和缓存位置。
缓存控制
Expires 头#…浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制以便在将来的请求中能够更快地获取这些资源减少对服务器的请求提高页面加载速度。浏览器缓存主要涉及到两个方面缓存控制和缓存位置。
缓存控制
Expires 头
作用 通过 Expires 头指定资源的过期时间即资源在客户端缓存的有效期。 示例 Expires: Tue, 10 Nov 2023 12:00:00 GMT Cache-Control 头
作用 提供更灵活的缓存控制包括 public可以被任何中间缓存和终端缓存、private只能被终端缓存、no-cache需要先验证是否过期、max-age指定缓存的最大有效时间等。 示例 Cache-Control: max-age3600, public Last-Modified 头
作用 指定资源最后一次修改的时间。 示例 Last-Modified: Tue, 01 Nov 2022 08:00:00 GMT If-Modified-Since 头
作用 客户端发送该头用于条件性地请求服务器仅在资源在指定时间后被修改时才会返回资源内容。 示例 If-Modified-Since: Tue, 01 Nov 2022 08:00:00 GMT ETag 头
作用 提供一个唯一的标识符当资源被修改时ETag 会发生变化。 示例 ETag: “abc123” If-None-Match 头
作用 客户端发送该头用于条件性地请求服务器仅在资源的 ETag 值与指定的值不匹配时才返回资源内容。 示例 If-None-Match: “abc123” 缓存位置
Memory Cache内存缓存
缓存在内存中读取速度快但容量较小仅在浏览器打开时有效。 Disk Cache磁盘缓存
缓存在磁盘中容量相对较大可以在浏览器关闭后依然有效。 Service Worker CacheService Worker 缓存
使用 Service Worker 技术可以在离线状态下提供缓存服务用于构建离线应用。 Push Cache
用于存储通过 HTTP/2 服务器推送而来的资源。
缓存的流程
首次请求
浏览器向服务器请求资源。 服务器响应
服务器返回资源并在响应头中设置相应的缓存控制信息。 浏览器缓存
浏览器将资源保存在缓存中同时记录缓存控制信息。 再次请求
如果资源没有过期浏览器直接从缓存中读取资源不再请求服务器。 条件性请求
如果资源过期或被修改浏览器通过条件性请求如 If-Modified-Since 或 If-None-Match向服务器验证是否需要获取新的资源。 更新缓存
如果服务器返回新的资源浏览器将新的资源存储在缓存中更新缓存控制信息。 通过合理设置缓存控制头开发者可以更好地控制客户端缓存的行为从而提升用户体验和加速页面加载。