HTTP消息头

作者: 暴烈的海胆 | 来源:发表于2017-04-06 18:08 被阅读59次

1. 关于HTTP消息头

HTTP消息头是在,客户端请求(Request)或服务器响应(Response)时传递的,位请求或响应的第一行,HTTP消息体(请求或响应的内容)是其后传输。HTTP消息头,以明文的字符串格式传送,以冒号分隔的键/值对,如:Accept-Charset: utf-8,每一个消息头最后以回车符(CR)和换行符(LF)结尾。

2. 常用的HTTP请求头

协议头 说明
Accept 浏览器可接受的MIME类型(Content-Types) text/plain
Accept-Charset 可接受的字符集 utf-8
Accept-Encoding 可接受的响应内容的编码方式 gzip, deflate
Accept-Language 可接受的响应内容语言列表 en-US
Cache-Control 用来指定当前的请求/回复中的,是否使用缓存机制 no-cache
Connection 客户端(浏览器)想要优先使用的连接类型 keep-alive Upgrade
Cookie 由之前服务器通过Set-Cookie(见下文)设置的一个HTTP协议Cookie Cookie: $Version=1; Skin=new;
Content-Type 请求体的MIME类型 (用于POST和PUT请求中) pplication/x-www-form-urlencoded
Upgrade 要求服务器升级到一个高版本协议 HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

3. 常用的HTTP响应头

协议头 说明
Age 响应对象在代理缓存中存在的时间,以秒为单位 Age: 12
Cache-Control 通知从服务器到客户端内的所有缓存机制,表示它们是否可以缓存这个对象及缓存有效时间。其单位为秒 Cache-Control: max-age=3600
Expires 指定一个日期/时间,超过该时间则认为此回应已经过期 Expires: Thu, 01 Dec 1994 16:00:00 GMT
Content-Language 响就内容所使用的语言 Content-Language: zh-cn
Content-Type 当前内容的MIME类型 Content-Type: text/html; charset=utf-8
Expires 指定一个日期/时间,超过该时间则认为此回应已经过期 Expires: Thu, 01 Dec 1994 16:00:00 GMT

4. HTTP协议头Cache-Control

Expires和Cache-Control就是服务端用来约定和客户端的有效时间的,但是如果同时存在,则被Cache-Control的max-age覆盖。

Cache-directive| 描述|存储策略|过期策略|请求字段
----|------|----
public|可被任何缓存区缓存|✔️||
private|资源仅被客户端缓存, 代理服务器不缓存|✔️||
no-cache|请求和响应消息不能缓存,相当于max-age:0,must-revalidate即资源被缓存, 但是缓存立刻过期, 同时下次访问时强制验证资源有效性|✔️|✔️|✔️
no-store|请求和响应都不缓存|✔️||✔️
max-age|缓存资源, 但是在指定时间(单位为秒)后缓存过期|✔️|✔️|✔️

5.http header中与缓存有关的key

key| 描述| 存储策略|过期策略|协商策略
----|------|----
Cache-Control|指定缓存机制,覆盖其它设置|✔️|✔️|
Pragma|http1.0字段,指定缓存机制|✔️||
Expires|http1.0字段,指定缓存的过期时间||✔️|
Last-Modified|资源最后一次的修改时间|||✔️
ETag|唯一标识请求资源的字符串|||✔️

下面我们来看下各个头域(key)的作用.

Cache-Control
浏览器缓存里, Cache-Control是金字塔顶尖的规则, 它藐视一切其他设置, 只要其他设置与其抵触, 一律覆盖之.不仅如此, 它还是一个复合规则, 包含多种值, 横跨 存储策略, 过期策略 两种, 同时在请求头和响应头都可设置.
语法为: "Cache-Control : cache-directive".

相关文章

  • HTTP消息头

    1. 关于HTTP消息头 HTTP消息头是在,客户端请求(Request)或服务器响应(Response)时传递的...

  • HTTP 消息头

    Connection 这个消息头用于告诉通信的另一端,在完成 HTTP 传输后是关闭 TCP 连接,还是保持连接开...

  • HTTP消息头

    .**常用消息头** Connection。这个消息头用于告诉通信的另一端.在完成HTTP传输后是关闭TCP连接,...

  • HTTP消息头注入

    这份论文只为教育目的。 我发现我的BLOGSPOT程序非常的糟糕,所有的提交都是非常的糟糕,于是我决心做一个好的版...

  • HTTP的header消息头

    协议格式 1、请求头:报文主要包含四个部分: 请求行(例如GET /images/logo.gif HTTP/1....

  • http 消息

    HTTP消息又称为HTTP头(HTTP header),由四部分组成,分别是请求头、响应头、普通头、实体头。 1....

  • http协议包含哪几个部分

    http://caibaojian.com/http.htmlHTTP协议包含:通用头域、请求消息、响应消息和主体...

  • Chrome 开发者工具 network 显示 Provisio

    HTTP 标头是显示在超文本传输协议 (HTTP) 的消息标头的请求和响应消息中的名称或值对。 请求标头包含有关要...

  • HTTP协议消息结构和响应头

    HTTP 消息结构 HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的...

  • http的缓存与压缩

    http比较常用的消息头如下所示: 其中比较重要的是缓存消息头和传输消息头,我们下面来重点剖析一下。 Cache-...

网友评论

本文标题:HTTP消息头

本文链接:https://www.haomeiwen.com/subject/kmdqattx.html