6. HTTP头部

6.1 HTTP报文头部

报文头部由几个字段构成

HTTP请求报文

由方法,URI,HTTP版本,HTTP头部字段等部分构成;

HTTP响应报文

由HTTP版本,状态码,HTTP头部字段构成

6.2 HTTP头部字段

HTTP头部字段结构

头部字段名: 字段值

4种HTTP头部字段类型

  1. 通用头部字段(General Header Fields)
    请求报文和响应报文都会使用的头部
  2. 请求头部字段(Request Header Fields)
    补充请求的附加内容、客户端信息、响应内容相关优先级等;
  3. 响应头部字段(Response Header Fields)
    补充响应的附加内容
  4. 实体首部字段(Entity Header Fields)
    针对实体部分使用的头部;补充资源内容的更新事件等;

HTTP/1.1头部字段一览

6.3 HTTP/1.1通用头部字段

cache-control:操作缓存的工作机制

分为缓存请求指令 / 缓存响应指令
表示能否缓存的指令

  1. public:(响应)表明其他用户也可以使用缓存;
  2. private:(响应)只对特定用户返回;
  3. no-cache:不缓存过期的资源
    (请求)客户端不会接受缓存过的响应;
    (响应)缓存前必须确定其有效性;如果对no-cache字段名具体指定参数值,客户端接收后就不能使用缓存

控制可执行缓存的对象的指令

  1. no-store:真正的不进行缓存,请求或响应中含机密信息;

指定缓存期限和认证的指令

  1. s-maxage:与max-age相同,区别于公共服务器
  2. max-age:必须有值,单位为秒;
    (请求)判定资源缓存的时间比指定时间的数值小,客户端就接收缓存的资源;
    (响应)数值代表资源保存为缓存的最长时间;
  3. min-fresh:(请求)要求缓存服务器返回至少还未过指定时间的缓存资源,必须有值,单位为秒;
  4. max-stale:(请求)指示缓存资源,即使过期也照常接受,不指定数值无论过多久,客户端都会接受;置顶数职,即使过期,只要处于max-stale指定时间内,仍会被接收;
  5. only-if-cached:(请求)只从缓存获取资源,要求缓存服务器不重新加载响应,也不再次确认资源的有效性;
  6. must-revalidate:(响应)代理会向源服务器再次验证即将返回的响应缓存目前是否仍然有效;
  7. proxy-revalidate:(响应)要求缓存服务器接收到客户端带有该指令的请求返回响应之前,必须再次验证缓存的有效性;
  8. no-transform:(请求)(响应)代理不能改变实体的媒体类型

Cache-Control扩展

  1. cache-extension token:

Connection

Connection头部字段的作用:控制不再转发给代理的头部字段;管理持久连接;

GET / HTTP/1.1
Upgrade: HTTP/1.1
Connection: Upgrade
Connection: 不再转发的头部字段名
Connection: Keep-Alive
Connection: Close

Date

创建报文的日期和时间

Pragma:历史遗留字段

Pragma: no-cache
要求所有中间服务器不返回缓存的资源;

Trailer

说明在报文主体后记录了哪些首部字段。

Transfer-Encoding

HTTP/1.1中的传输编码方式仅对分块传输编码有效
Transfer-encoding: chunked

Upgrade

检测HTTP协议和其他协议是否可以使用更高的版本进行通信,其数值可以用来指定一个完全不同的通信协议;
Upgrade头部字段仅限于客户端和邻接服务器之间,因此,使用Upgrade还要额外制定Connection: Upgrade;

Via

追踪客户端和服务器哦之间的请求和响应报文的传输路径;
经过代理或网关时,会首先在头部字段Via中附加该服务器的信息,然后转发

Warning:告知用户一些缓存相关问题的警告

HTTP/1.1 警告码

警告码 警告内容 说明
110 Response is stale 代理返回已过期的资源
111 Revalidation failed 代理验证资源有效性失败
112 Disconnection operation 代理与互联网连接被故意切断
113 Heuristic expiration 响应的使用期超过有效缓存的设定时间
199 Miscellaneous warning 任意的警告内容
214 Transformation applied 代理对内容编码或媒体类型执行了处理
299 Miscellaneous persistent warning 任意警告内容(持久)

6.4 请求头部字段

Accept

通知服务器用户代理能处理的媒体类型及媒体类型的相对优先级,type/subtype,可以一次指定多种媒体类型;

Accept: text/html, application/xhtml+xml;q=0.9

一些媒体类型的例子
文本文件
text/html,text/plain,text/css
application/xhtml+xml,application/xml
图片文件
image/jpeg,image/gif,image/png
视频文件
video/mpeg,video/quicktime

Accept-Charset

通知服务器用户代理支持的字符集和字符集相对优先级

Accept-Encoding

通知服务器用户代理支持的内容编码和内容编码的优先级;
几个内容编码的例子
gzip compress deflate
identify:不执行压缩或不会变化的默认编码样式

Accept-Language

告知服务器用户代理能够处理的自然语言集和优先级;

Authorization

通知服务器用户代理的认证信息(证书值)。通常,用户代理会在接受返回的401状态码响应后,把头部字段Authorization加入请求中;

Expect:告知服务器,期望出现的特定行为,HTTP/1.1只定义了一种

Expect: 100-continue

From

告知服务器使用用户代理的用户的电子邮件地址;例如显示搜索引擎等用户代理的负责人的邮件;

Host

HTTP/1.1规范中唯一一个必须被包含在请求内的头部字段;
告知服务器请求的资源所处的互联网主机名和端口号;因为单台服务器可能分配多个域名

If-Match

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容