HTTP 头部字段 Cache Control max-age = 0 和 no-cache 的区别

简介: HTTP 头部字段 Cache Control max-age = 0 和 no-cache 的区别

禁掉缓存的情况:请求百度首页


image.png


开启缓存的情况下:


image.png



似乎没有什么变化。


再观察请求的头部字段:cache-control: max-age=0


image.png


标头 Cache-Control: max-age=0 暗示内容立即被认为是陈旧的(并且必须重新获取),这实际上与 Cache-Control: no-cache 相同。


首先了解 cache-control 的几种可能的值:


no-cache: 这会指示浏览器每次使用 URL 的缓存版本之前都必须与服务器重新验证。

no-store: 这会指示浏览器和其他中间缓存(如 CDN)从不存储文件的任何版本。

private: 浏览器可以缓存文件,但中间缓存( for example CDN cache)不能。

public: 响应可以由任何缓存存储。

Cache-Control 标头有两个方面。 一侧是它可以由网络服务器(又名“原始服务器”)发送的地方。 另一端是浏览器可以发送的地方(又名“用户代理”)。


When sent by the origin server

我相信 max-age=0 只是告诉缓存(和用户代理)响应从一开始就已经过时,因此他们应该 (SHOULD) 在使用缓存副本之前重新验证响应(例如,使用 If-Not-Modified 标头).


而 no-cache 告诉他们在使用缓存副本之前必须 (MUST) 重新验证。


NO-CACHE 的含义:


缓存不得在没有与源服务器成功重新验证的前提下,直接使用响应来满足后续请求。这允许源服务器阻止缓存,即使缓存已配置为向客户端请求返回陈旧的响应。


When sent by the user agent

如果用户代理使用 Cache-Control: max-age=0(又名“端到端重新验证”)发送请求,那么沿途的每个缓存都将重新验证其缓存条目(例如,使用 If-Not-Modified header)一直到源服务器。 如果回复是 304(未修改),则可以使用缓存的实体。


另一方面,使用 Cache-Control: no-cache(又名“端到端重新加载”)发送请求不会重新验证,并且服务器在响应时不得使用缓存副本


相关文章
|
13天前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
68 2
HTTP和HTTPS的区别有哪些?
|
24天前
|
JSON 编解码 安全
【HTTP】方法(method)以及 GET 和 POST 的区别
【HTTP】方法(method)以及 GET 和 POST 的区别
59 1
|
5月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
2月前
|
网络协议 算法 数据安全/隐私保护
HTTP2和HTTP3区别?HTTP2有什么缺点?
总的来说,如果把HTTP/2比作是优化过的汽车,那HTTP/3就像是直升飞机,它不仅飞得快,而且即使前面有障碍也不会轻易停下。想要网站速度更快,HTTP/3无疑提供了更好的选择。
156 3
|
2月前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
28天前
|
负载均衡 API 数据格式
RPC和HTTP的区别?
RPC和HTTP的区别?
52 0
|
3月前
|
运维 Serverless 调度
函数计算产品使用问题之怎么在HTTP触发的函数里添加或读取自定义头部
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
|
4月前
|
安全 程序员 网络安全
HTTP和HTTPS的区别,你真的了解吗?
大家好,我是你们的技术小伙伴小米!今天我们来聊聊HTTP和HTTPS的区别以及HTTPS链接的建立过程,同时了解两种常见的加密算法——对称加密和非对称加密。通过这篇文章,你将深入理解这些网络基础知识,为网站安全保驾护航!
80 7
|
3月前
|
安全 网络协议 搜索推荐
http和https分别是什么?区别是什么?
http和https分别是什么?区别是什么?
86 0