Http首部

HTTP首部字段

定义:构成http报文的要素之一,在客户端与服务器之间以http协议传输信息的过程中,起到传递额外重要信息的作用

字段名:字段值

一个字段名后面也可以跟多个字段值

通用首部字段


png

请求首部字段

从客户端向服务器发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、相应内容相关优先级信息


png2

响应首部字段


png3

实体首部字段


png4

cache-control

通过指定首部字段Cache-Control的指令,就能操作缓存的工作机制。

指令的参数是可选的,多个指令之间通过“,”分隔。首部字段Cache-Control的指令可用于请求及响应时。

Cache-Control: private, max-age=0, no-cache

是否能缓存的指令

public指令:当指定使用public指令时,则明确表明其他用户也可利用缓存。

Cache-Control:public

public指令:响应只能以特定的用户作为对象,这与public指令的行为相反。

缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送过来的请求,代理服务器则不会返回缓存。

Cache-Control:private

no-cache指令:目的是为了防止从缓存中返回过期的资源。

在客户端发送的请求中,则表示客户端将不会接收缓存过的响应。“中间”的缓存服务器必须把客户端请求转发给源服务器。

在服务器返回的响应中,表示缓存服务器不能对资源进行缓存。源服务器以后也将不在对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作。

Cache-Control:no-cache

由服务器返回的响应中,若报文首部字段Cache-Control中对no-cache字段名具体制定参数值,那么客户端在接收到这个带有指定参数值的首部字段对应的响应报文时,不能使用缓存;反之,首部字段无参数值的可以使用缓存。

同时,只能在响应指令中指定该参数。

Cache-Control:no-cache=Location

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

no-store指令:该指令暗示请求(和对应的响应)或响应中包含机密信息,。因此,该指令规定缓存不能在本地存储请求或响应的任一部分。

Cache-Control:no-store

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

s-maxage指令:和max-age指令功能相同,它们的不同点是s-maxage指令只适用于供多位用户使用的公共缓存服务器。对于向同一用户重复返回响应的服务器来说,这个指令没有任何作用。

另外,当使用该指令时,则直接忽略对Expires首部字段及max-age指令的处理。

Cache-Control:s-maxage=604800(单位:秒)

max-age指令:当客户端发送的请求中包含max-age指令时,判定缓存资源的缓存时间数值比指定时间的数值更小,即缓存还未过期,那么客户端就接收缓存的资源。当指定max-age为0,缓存服务器通常需要将请求转发给源服务器。

Cache-Control:max-age=604800(单位:秒)

min-fresh指令:告知缓存者,如果当前时间加上min-fresh的值,超了该缓存的过期时间.则要给我一个新的。

Cache-Control:min-fresh=60(单位:秒)

max-stale指令:如果未给定参数值,则缓存无论过期多久,客户端都会接受;给定具体参数值时,即使过期了,只要还在max-stale指定的时间范围内,仍被客户端接受。

Cache-Control:max-stale=3600(单位:秒)

only-if-cache指令:客户端只在缓存服务器中获取目标资源,不需要确认资源有效性,如果缓存服务器中无目标资源,不会重新加载响应,只返回504 Gateway Timeout

must-revalidate指令:代理会向源服务器再次验证即将返回的响应缓存目前是否仍然有效。

若代理无法连通源服务器再次获取有效资源,缓存必须给客户端返回504(Gateway Timeout)状态码。

must-revalidate指令会忽略请求的max-stale指令。

Cache-Control:must-revalidate

proxy-revalidate指令:要求所有的缓存服务器在接收到客户端带有该指令的请求返回响应之前,必须再次验证缓存的有效性。

Cache-Control:proxy-revalidate

no-transform指令:规定无论是在请求还是响应中,缓存都不能改变实体主体的媒体类型。

这样做可以防止缓存或代理压缩图片等类似操作。

Cache-Control:no-transform

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

推荐阅读更多精彩内容

  • HTTP 首部 HTTP 报文首部 HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客 户端和...
    Gu_Ran阅读 749评论 0 3
  • 作者:李成文;标签: http首部 HTTP报文首部 HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容...
    广州芦苇科技web前端阅读 1,091评论 0 0
  • HTTP报文首部   HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响...
    JarvanZ阅读 779评论 0 0
  • 1. HTTP报文首部 HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和...
    笙绳省盛阅读 1,795评论 0 5
  • HTTP请求报文: HTTP响应报文: 使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息...
    大唐雷恋阅读 953评论 0 1