HTTP Header 学习

原作者lcamry的博客

头部 解释
Accept 告诉服务器自己接受何种介质类型type/sub-type:*/*表示所有类型;type/*表示该类型下的所有子类型
Accept-Charset 声明自己接收的字符集
Accept-Encoding 声明自己接受的编码方式,通常指定压缩方法
Accept-Language 声明自己接收的语言
Accept-Ranges 服务器表明自己是否接受获取其某个实体的一部分的请求
Age 当代理服务器用自己缓存的实体去响应请求时,通过该头部表明该实体从产生到现在经过了多长时间
Authorization 当客户端收到服务器的WWW-Authorization响应时,用该头部回应自己的身份验证信息给服务器
Connection close:告诉服务器在完成本次响应后断开连接;
keepalive:告诉服务器本次响应后保持连接
服务器响应:close——已关闭;keepalive——连接保持着,等待后续请求;Keep-Alive:希望保持的时间
Content-Encoding 服务器表明自己使用何种压缩方法
Content-Language 服务器表明自己响应的对象的语言
Content-Length 服务器表明自己响应的长度
Content-Range 服务器表明该响应包含的部分对象为整体对象的哪个部分
Content-Type 服务器表明自己响应对象的类型
ETag 对象的标记,服务器用来判断对象是否改变
Expired 服务器表明实体将在何时过期
Host 客户端制定自己想要访问的服务器
If-Match 如果对象的ETag没改变,才请求执行的动作
If-None-Match 如果ETag改变了,请求执行的动作
If-Modified-Since 如果对象在该头部指定的时间之后修改了,才执行请求的动作,否则返回304
If-UNmodified-Since 对象在该头部指定的时间之后没有修改,才执行请求的操作
If-Range 浏览器告诉 WEB 服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过发送请求对象的 ETag 或者 自己所知道的最后修改时间给 WEB 服务器,让其判断对象是否改变了。总是跟 Range 头部一起使用。
Last-Modified 服务器认为对象最后的修改时间
Location 服务器告诉浏览器访问对象的位置
Pramga 和Cache-Control类似
Proxy-Authenticate 代理服务器响应,要求提供代理身份验证信息;浏览器响应:提供自己的身份信息
Range 浏览器告诉服务器自己想取对象的哪部分
Referer 浏览器告知服务器,表明自己从哪个URL请求当前的URL的
Server 服务器表明自己的软件信息
User-Agent 浏览器表明自己的身份
Transfer-Encoding 服务器表明自己对本响应的消息体做了怎样的编码
Vary WEB服务器用该头部的内容告诉 Cache 服务器,在什么条件下才能用本响应所返回的对象响应后续的请求。假如源WEB服务器在接到第一个请求消息时,其响应消息的头部为:Content- Encoding: gzip; Vary: Content-Encoding那么 Cache 服务器会分析后续请求消息的头部,检查其 Accept-Encoding,是否跟先前响应的 Vary 头部值一致,即是否使用相同的内容编码方法,这样就可以防止 Cache 服务器用自己 Cache 里面压缩后的实体响应给不具备解压能力的浏览器。例如:Vary:Accept-Encoding
Via 列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用什么协议(和版本)发送的请求。当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面添 加 Via 头部,并填上自己的相关信息,当下一个代理服务器收到第一个代理服务器的请求时,会在自己发出的请求里面复制前一个代理服务器的请求的Via 头部,并把自己的相关信息加到后面,以此类推,当 OCS 收到最后一个代理服务器的请求时,检查 Via 头部,就知道该请求所经过的路由。例如:Via:1.0 236.D0707195.sina.com.cn:80 (squid/2.6.STABLE13)

另外还有Cache-Control:

  • 请求包中:
    • no-cache:不要缓存的实体,要求从Web服务器中取
    • max-age: 只接受Age小于max-age的值
    • max-stale:可以接胡搜过去的对象,但过期时间要小于max-stale
    • min-fresh:接收其新鲜生命周期大于当前Age和min-fresh值之间的缓存对象
  • 响应包中:
    • public:可以用Cached内容回应任何永远忽
    • private:只能用缓存内容回应先前请求那个内容的用户
    • no-cache:可以缓存,但只有在跟Web服务器验证了其有效后才返回给客户端
    • max-age:本响应包含的对象的过期时间
  • no-store:不允许缓存
posted @ 2021-04-27 20:03  掉到鱼缸里的猫  阅读(69)  评论(0编辑  收藏  举报