HTTP首部

  • HTTP报文首部
报文首部
空行
报文主体
  • HTTP请求报文首部
    在请求中,HTTP报文由方法,URI,HTTP版本,HTTP首部字段等部分构成。

  • HTTP响应报文首部
    在响应中,HTTP报文由HTTP版本,状态码,HTTP首部字段3部分组成

  • HTTP首部字段
    使用首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言,认证信息等内容。

    • HTTP首部字段结构
      首部字段名:字段值
    • 通用首部字段类型
      请求报文和响应报文两方都会使用的首部。
    • 请求首部字段
    • 响应首部字段
    • 实体首部字段
      针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间等与实体有关的信息。
  • end-to-end首部和Hop-by-hop

    • 端到端首部
      分在此类别中的首部分会转发给请求/响应对应的最终接受目标,且必须保存在由缓存生成的响应中,另外规定它必须被转发。
    • 逐跳首部
      分在此类中的首部只对单次转发有效,会因通过缓存或代理而不再转发。
  • HTTP/1.1通用首部字段

    • Cache-Control
      操作缓存的工作机制。
      • public:表示其他用户也可利用缓存
      • private:响应只能以特定的用户为对象
      • no-cache:强制向源服务器再次验证缓存,防止从缓存中返回过期的资源
      • no-store:不缓存请求或响应的任何内容,暗示请求或响应中包含机密信息。
      • s-maxage=秒:公共缓存的最大时间界限
      • max-age=秒:与上一个类似,区别是上一个是公共的,这个是针对特定用户服务器的
      • min-fresh=秒:期望在指定时间内的响应仍有效,即至少未过指定时间的缓存资源
      • max-stale=秒:用来接受过期的资源,没有时间是什么资源都接受,由时间是过期时间在限定内的资源
      • noly-if-cached:从缓存中获取资源
    • Connection
      控制不再转发给代理的首部字段
      管理持久连接
      • 控制不再转发的首部字段
        就是字段值写什么,什么首部就不会被转发
      • http/1.1版本的默认连接都是持久连接,为此,客户端会再持久连接上发送请求。当服务器想明确断开连接时,则指定Connection首部字段的值为Close。
    • Date
      首部字段Date表明创建HTtp报文的日期和时间。
    • Pargma
      历史遗留的兼容版本。不用特地记。
    • Trailer
      首部字段Trailer会事先说明在报文主体后记录了哪些首部字段,该首部字段可应用再HTTP/1.1版本分块传输编码时。
    • Transfer-Encoding
      规定了传输报文主体时所用的编码方式。
      HTTP/1.1的传输编码方式仅对分块传输编码有效。
    • Upgrade
      用于检测HTTP协议及其他协议是否可使用更高的版本进行通信,其参数值可以用来指定一个完全不同的通信协议。
    • Via
      用来追踪客户端和服务器之间的请求和响应报文的传输路径。
      经过代理和网关的时候,会先在首部字段Via中附加该服务器的信息,然后再进行转发。
    • Warning
      HTTP/1.1的Warbning告知用户一些与缓存相关的问题的警告。
      Warning: 警告码 警告主机:端口 “警告内容” 日期时间
  • 请求首部字段

    • accept
      用来告知服务器用户代理(浏览器)能够处理的媒体类型及媒体类型的相对优先级
      一般用q来表示优先级的权重值,q的范围再0~1,最高是1,最低是0,可以到小数后三位。默认权重值为1 。
    • accept-charset
      用来通知服务器用户代理支持的字符集及字符集的相对优先顺序,另外,也支持权重值q。
    • accept-Encoding
      用来告知服务器用户代理(浏览器)支持的内容编码及内容编码的优先级顺序。
    • Accept-Language
      用来告知服务器用户代理能够处理的自然语言集,以及自然语言集的相对优先级。
    • Authorization
      用来进行用户代理的认证信息 。
    • From
      用来告知服务器使用用户代理的用户的电子邮件地址。
    • Host
      虚拟主机运行同一IP上,因此使用首部字段Host加以区分。
    • if-Match
      形如If-xxx这种形式的请求首部字段,都可称为条件请求,服务器接收到附带条件的请求后,只有判断指定条件为真时,才会执行请求。
      该条件是匹配实体标记Etag
    • if-modified-since
      是想获得该时间之后更新过的字段。
    • if-none-match
      与if-match相反的操作。
    • if-range
      if-range:“ETag”
      range:bytes=
      两者配合使用,可以返回范围请求,如果ETag不一致,则返回全部范围。
    • if-unmodified-since
      与if-modified-since相反。
    • max-forwards
      表示了可经过的服务器最大数目。
    • proxy-Authorization
      代理服务器的验证。
    • Referer
      会告知服务器请求的原始资源的URI。
    • TE
      首部字段TE会告知服务器客户端能够处理响应的传输编码方式及相对优先级,它和首部字段accept-encoding的功能很想象,但是用于传输编码。
    • User-agent
      首部字段user-agent会将创建请求的浏览器和用户代理名称等信息传送给服务器。
  • 响应首部字段

    • Accept-Ranges
      用来告知客户端服务器是否能处理范围请求。
      accept-ranges:bytes 是能处理
      accpet-ranges:none 是不能处理。
    • age
      如果是源服务器,则表示是在多久前创建的响应
      如果就是缓存服务器,代表 ,不太理解。。
    • Etag
      能告知客户端实体标识,它是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的Etag值。URI相同,语言不同ETAG值不同, 就是应用的一个例子。
    • 强ETag值和弱ETag值
      强ETag值,不论实体发生多么细微的变化都会改变其值。
      弱ETag值,只是用于提示资源是否相同,只有资源发生了根本改变,产生差异时才会改变Etag值。】
    • Location
      可以将响应接收放引导至某个与请求URI位置不同的资源。
      一般用于重定向,强制性的。
    • Proxy-Authenticate
      首部字段Proxy-Authenticate会把代理服务器所要求的认证信息发送给客户端。
    • Proxy-After
      告知客户端应该在多久之后再次发送请求。
    • Server
      告知客户端服当前服务器上安装的HTTP服务器应用程序的信息,例如阿帕奇之类的。
    • Vary
      如果有Vary,缓存服务器只能对vary规定的值与请求的值相同时才能给客户端响应。
    • WWW-Authenticate
      用于HTTP访问认证,它会告知客户端适用于访问请求URI所指定资源的认证方案和带参数提示的质询。
  • 实体首部字段

  • Allow
    用于同通知客户端能够支持Request-URI指定资源的所有HTTP方法。

  • Content-Encoding
    会告知客户端对实体的主体部分选用的内容编码方式。

  • Content-Language
    会告知客户端,实体主体使用的自然语言。

  • Content-Length
    表明了实体的主体部分的大小,单位是字节。

  • Content-Location
    给出与报文主体部分相对应的URI。

  • Content-MD5
    客户端会对接收的报文主体执行相同的MD5算法,然后与首部字段Content-MD5的字段值比较。

  • Content-Range

    • Content-Range: bytes 5001-10000/10000
    • 针对范围请求,返回相应时使用的首部字段Content-Range.
  • Content-Type

    • Content-Type: text/html; charset=UTF-8
    • Content-Type: application/x-www-form-urlencoded
    • 首部字段Content-Type 说明了尸体主题内对象的媒体类型。
  • Expires

    • Expires: Web, 04 jul 2012 08:26:05 GMT
    • 会将资源失效的日期告知客户端。
    • 缓存服务器用的。
    • 当首部字段Cache-Control 有指定max-age指令时,会被max-age指令覆盖。
  • Last-Modified

    • 指明资源最后修改的时间。
  • 为Cookie服务的首部字段

    • Set-Cookie
      • NAME=VALUE
        • 赋予Cookie的名称和其值
      • expires=DATE
        • 指定浏览器可发送Cookie的有效期
        • 当省略该属性时,有效期为维持浏览器会话(session)
      • path=PATH
        • 将服务器上的文件目录作为cookie的适用对象。
      • domain=域名
      • secure
        • 限制Web页面仅在HTTPS安全连接才可以发送Cookie
      • HttpOnly
        • true之后,使用JavaScript脚本无法获得Cookie.
    • Cookie
      • 图片.png
  • 其他首部字段

    • X-Frame-Options
      • HTTP响应头,用于控制网站内容在其他web网站的的Frame标签内的显示问题。其主要目的是为了防止点击劫持攻击。
      • DENY:拒绝
      • SAMEORIGIN:仅同源域名下的页面匹配时许可。
    • X-XSS-Protection
      • X-XSS-Protection: 1
      • HTTP响应头,它是针对跨站脚本攻击(XSS)的一种对策,用于控制浏览器XSS防护机制的开关。
    • DNT
      • DNT: 1
      • HTTP请求头,Do Not Track的简称,意为拒绝个人信息被收集,是表示拒绝被精准广告追踪的一种方法。
    • P3P
      • P3P: CP="CAO DSP LAW CURa"
      • HTTP相应首部,通过利用P3P(在线隐私偏好平台)技术,可以让Web网站上的个人隐私编程一种仅供程序可理解的形式,以达到保护用户隐私的目的。
      • http://www.w3.org/TR/P3P
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容