HTTP消息头详解

http消息头文档:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers

分类:4类

通用头域 General headers   同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。

请求头域 Request headers    包含更多有关要获取的资源或客户端本身信息的消息头。

响应头域 Response headers  包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。

实体头域 Entity headers    包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。

1. 请求头 

  Host: developer.mozilla.org
  User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Language: en-US,en;q=0.5
  Accept-Encoding: gzip, deflate, br
  Referer: https://developer.mozilla.org/testpage.html
  Upgrade-Insecure-Requests:1
  Connection: keep-alive
  If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT    服务器只在所请求的资源在给定的日期时间之后对内容进行过修改的情况下才会将资源返回,否则返回304
  If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a"
  Cache-Control: max-age=0

2. 响应头  

Access-Control-Allow-Origin: *
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Mon, 18 Jul 2016 16:06:00 GMT
Etag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a"
Keep-Alive: timeout=5, max=997
Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT  服务器认定的资源做出修改的日期及时间,响应给浏览器。浏览器下次请求时,它是If-Modified-Since的值
Server: Apache
Set-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secure
Transfer-Encoding: chunked
Vary: Cookie, Accept-Encoding
X-Backend-Server: developer2.webapp.scl3.mozilla.com
X-Cache-Info: not cacheable; meta data too large
X-kuma-revision: 1085259
x-frame-options: DENY

Expires: Wed, 21 Oct 2015 07:28:00 GMT  响应头包含日期/时间, 即在此时候之后,响应过期。若设置了cache-control:max-age则它失效

3. 通用头

  Via: HTTP/1.1 GWA  是由代理服务器添加的,适用于正向和反向代理。可以用来追踪消息转发情况,防止循环请求,以及识别在请求或响应传递链中消息发送者对于协议的支持能力

  Content-Length:300  实体内容的字节数,浏览器或服务器根据内容自动给定

  Content-Language:de,en   表示文档是给哪国人看的,并不是一定就这种语言

  Content-Encoding:gzip, deflate,br    用于对特定媒体类型的数据进行压缩,值表示消息主体的编码方式。identity表示未经压缩

4. 实体头

  Date:Wed, 21 Oct 2015 07:28:00 GMT

  Cache-Control: no-cache  强制确认缓存

  a. 缓存请求指令:   

Cache-Control: max-age=<seconds>
Cache-Control: max-stale[=<seconds>]
Cache-Control: min-fresh=<seconds>
Cache-control: no-cache
Cache-control: no-store
Cache-control: no-transform
Cache-control: only-if-cached

b. 缓存响应指令:

Cache-control: must-revalidate
Cache-control: no-cache
Cache-control: no-store
Cache-control: no-transform
Cache-control: public
Cache-control: private
Cache-control: proxy-revalidate
Cache-Control: max-age=<seconds>
Cache-control: s-maxage=<seconds>

  Connection: keep-alive  启用长连接   





posted on 2019-11-29 01:14  反射弧  阅读(1086)  评论(0编辑  收藏  举报

导航