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消息头

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