第6章 HTTP首部
6.1 http报文首部



6.2 http首部字段
http首部字段根据实际用途分为以下4种类型:
通用首部字段、请求首部字段、响应首部字段、实体首部字段(针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息)



6.3 HTTP/1.1 通用首部字段
cache-control: 取值比较常见的有no-cache,如果在响应头中,代表源服务器跟缓存服务器说,你可以使用缓存,但是每次使用都要通知我一下。如果在请求头中,代表客户端跟缓存服务器说,我不要缓存,你直接从源服务器上拿资源。
1.no-cache指令

2.no-store指令
代表传输的信息是保密的,不允许存储。
3.max-age指令

从客户端的角度:如果请求头中有max-age这个参数,那么,缓存服务器拿到参数后,会根据其值判断资源是否过期,如果过期,会向源服务器重新请求新的资源。
从源服务器角度:如果响应头中有max-age这个参数,那么,源服务器在告诉缓存服务器,我这个资源只要没过期,你都不用跟我要新的。
另外,cache-control可能的取值还有:max-stale、only-if-cache、must-revalidate、proxy-revalidate、no-transform
6.3.2 Connection
connection有2个作用:
1.控制不再转发给代理的首部字段
2.管理持久连接



6.3.3 Date字段
首部字段Date为创建报文的时间。
6.3.4 Pragma
这个字段是http1.1之前的遗留字段,为了兼容http1.0。一般用在客户端上,意思为告诉中间服务器,我不要缓存资源。

所有的中间服务器如果都能以 HTTP/1.1 为基准,那直接采用 Cache-Control: no-cache 指定缓存的处理方式是最为理想的。但要整体掌握全部中间服务器使用的 HTTP 协议版本却是不现实的。因此,发送的请求会同时含有下面两个首部字段。
Cache-Control: no-cache Pragma: no-cache

这个字段说明,在报文主体后有哪些重要字段,以免服务器忘记查看,一般用来分块传输。

本文深入解析HTTP首部,包括通用首部字段(如Cache-Control, Connection, Date等)及其作用,以及请求首部字段(如Accept, Authorization, Host等),介绍了这些字段在HTTP通信中的重要功能,如缓存控制、持久连接和资源定位等。"
93591446,5889846,SpringBoot整合Mybatis PageHelper分页插件实战,"['SpringBoot', 'Mybatis', '分页插件', 'PageHelper']
最低0.47元/天 解锁文章
1330





