摄影网站开发背景,杭州自助建站,专门做淘宝代运营的网站,国外外贸网站强缓存和协商缓存是Web开发中常用的两种缓存策略
强缓存#xff08;Cache-Control和Expires#xff09;#xff1a;强缓存指的是在浏览器向服务器发送请求之前#xff0c;直接从本地缓存中获取资源#xff0c;而不去服务器验证资源是否过期。强缓存的判断依据是缓存响应头…强缓存和协商缓存是Web开发中常用的两种缓存策略
强缓存Cache-Control和Expires强缓存指的是在浏览器向服务器发送请求之前直接从本地缓存中获取资源而不去服务器验证资源是否过期。强缓存的判断依据是缓存响应头中的 Cache-Control 和 Expires 字段。
Cache-Control 是HTTP/1.1的字段通过设置不同的值来控制缓存策略。常见的值包括 public表示响应可以被客户端和代理服务器缓存。 private表示响应只能被客户端缓存。 max-age表示资源在缓存中的最长有效时间单位为秒。 Expires 是HTTP/1.0的字段表示资源的过期时间是一个绝对时间。如果当前时间小于过期时间那么就直接从缓存中获取资源。
协商缓存Last-Modified和ETag协商缓存是指浏览器在发出请求时携带上次请求返回的响应头中的Last-Modified或者ETag字段由服务器根据这些字段判断资源是否过期。如果资源没有发生变化则服务器返回304状态码告诉浏览器继续使用缓存中的资源如果资源发生了变化则服务器返回新的资源。
Last-Modified 是响应头的字段表示资源的最后修改时间。当浏览器再次请求该资源时会在请求头中携带If-Modified-Since字段将上次响应的Last-Modified值发送给服务器进行判断。
ETag 是响应头的另一个字段是一个由服务器生成的唯一标识符代表资源的特定版本。当浏览器再次请求该资源时会在请求头中携带If-None-Match字段将上次响应的ETag值发送给服务器进行判断。
协商缓存相对于强缓存来说提供了更精确的缓存控制因为它不仅仅依赖于时间还考虑到了资源内容的变化。而强缓存则能够更快地获取资源减少了与服务器的通信次数。综合使用强缓存和协商缓存可以在优化Web性能的同时保证数据的实时性。