没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/14939712/bg1.jpg)
一文带你看清一文带你看清HTTP所有概念所有概念
HTTP 标头
先来回顾一下 HTTP1.1 标头都有哪几种
HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍
通用标头
HTTP 通用标头之所以这样命名,是因为与其他三个类别不同,它们不是限定于特定种类的消息或者消息组件(请求,响应或
消息实体)的。HTTP 通用标头主要用于传达有关消息本身的信息,而不是它所携带的内容。它们提供一般信息并控制如何处
理和处理消息。
尽管通用标头不会限定于是请求还是响应报文,但是某些通用标头大部分或全部用于一种特定类型的请求中。也就是说,如果
某个通用标头出现在请求报文中,那么大部分通用标头都会显示在该请求报文中。响应报文也是一样的。
先列出来一个清单,讲明我们都需要介绍哪些通用标头
1.Cache-Control
2.Connection
3.Date
4.Pragma
5.Trailer
6.Transfer-Encoding
7.Upgrade
8.Via
9.Warning
Cache-Control
缓存(Cache)是计算机领域里的一个重要概念,是优化系统性能的利器。不仅计算机中的 CPU 为了提高指令执行效率从而
选择使用寄存器作为辅助,计算机网络同样存在缓存,下面我们就来介绍一下计算机网络中的缓存。
Cache-Control 是通用标头的指令,它能够管理如何对 HTTP 的请求或者响应使用缓存。
因为计算机网络中是可以有第三者出现的,也就是缓存服务器,这个指令通过影响请求/响应中的缓存服务器从而达到控制缓
存的目的;不仅有缓存服务器,还有浏览器内部缓存也会影响链路的缓存。
这个标头中可以出现许多单独的指令,其详细信息可以在 RFC 2616 中找到,即使这是常规标头,某些指令也只能出现在请
求或响应中。下表提供了一个 Cache-Control 选项的总结并告诉你如何去使用
请注意,在 Cache-Control 标头中只能出现一个指令,但是在消息中可以出现多个这样的标头。
![](https://csdnimg.cn/release/download_crawler_static/14939712/bg2.jpg)
上面这个表格其实会有四种分类
可缓存性: 它们分别是 no-cache、no-store、private 和 public
缓存有效性时间: 它们分别是 max-age、s-maxage、max-stale、min-fresh
重新验证并重新加载: 它们分别是 must-revalidate 和 proxy-revalidate
其他: 它们分别是 only-if-cached 和 no-transform
分别对表格中的内容进行一下详细介绍
no-cache
no-cache 很容易和 no-store 混淆,一般都会把 no-cache 认为是不缓存,其实不是这样。
使用 no-cache 指令的目的是为了防止从缓存中返回过期的资源,例如下图所示
举个例子你就明白了,No-Cache 就相当于是吃着碗里的,占着锅里的,如果锅里还有新的肉片,就先吃锅里的,如果锅里没
有新的,再吃自己的,这里锅里的就相当于是源服务器产生的,碗里的就相当于是缓存的。
no-store
no-store 才是真正意义上的不缓存,每次服务器接受到客户端的请求后,都会返回最新的资源给客户端。
max-age
![](https://csdnimg.cn/release/download_crawler_static/14939712/bg3.jpg)
max-age 可以用在请求或者响应中,当客户端发送带有 max-age 的指令时,缓存服务器会判断自己缓存时间的数值和 max-
age 的大小,如果比 max-age 小,那么缓存有效,可以继续给客户端返回缓存的数据,如果比 max-age 大,那么缓存服务器
将不能返回给客户端缓存的数据。
如果 max-age = 0,那么缓存服务器将会直接把请求转发到服务器
注意:这个 max-age 的值是相对于请求时间的
must-revalidate
表示一旦资源过期,缓存就必须在原始服务器上没有成功验证的情况下才使用其过期的数据。
no-store 、no_cache 、 must-revalidate 和 max-age 可以一起看,下面是一个这四个标头的流程图
public
public 属性只出现在客户端响应中,表示响应可以被任何缓存所缓存。在计算机网络中,分为两种缓存,共享缓存和私有缓
存,如下所示
剩余14页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38551837
- 粉丝: 4
- 资源: 922
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)