Cache-Control 是HTTP/1.1的字段,通过设置不同的值来控制缓存策略。常见的值包括:
public:表示响应可以被客户端和代理服务器缓存。
private:表示响应只能被客户端缓存。
max-age:表示资源在缓存中的最长有效时间,单位为秒。
Expires 是HTTP/1.0的字段,表示资源的过期时间,是一个绝对时间。如果当前时间小于过期时间,那么就直接从缓存中获取资源。
Last-Modified 是响应头的字段,表示资源的最后修改时间。当浏览器再次请求该资源时,会在请求头中携带If-Modified-Since字段,将上次响应的Last-Modified值发送给服务器进行判断。
协商缓存相对于强缓存来说,提供了更精确的缓存控制,因为它不仅仅依赖于时间,还考虑到了资源内容的变化。而强缓存则能够更快地获取资源,减少了与服务器的通信次数。综合使用强缓存和协商缓存可以在优化Web性能的同时保证数据的实时性。