美文网首页
常见HTTP报文的头部域信息内容

常见HTTP报文的头部域信息内容

作者: 曲昶光 | 来源:发表于2021-11-19 14:49 被阅读0次

    HTTP报文的头部域信息内容其实有很多,每个头部域字段的控制都具有自己的逻辑和判断机制,以下是常见的一些头部域字段的设置。

    • 1.Accept:告诉Web服务器自己能接收什么媒体类型,/表示能接收任何类型,type/*表示接收该类型下的所有子类型,一般格式为type/sub-type,多个类型使用q参数分割,q的值代表quality请求质量,反映了用户对这类媒体类型的偏好程度,例如Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c。

    • 2.Accept-Charset:浏览器接收内容的字符集,通常是utf-8。

    • 3.Accept-Encoding:浏览器接收内容的编码方法,例如指定是否支持压缩,若支持压缩的话支持什么压缩方法,具体如Accept-Encoding:gzip, deflate, sdch。

    • 4.Accept-Language:浏览器接收内容的语言。语言跟字符集是有区别的,例如中文是语言,中文有多种字符集,big5、gb2312、gbk等。该参数也可以设置多个,如Accept-Language: zh-CN,zh;q=0.8。

    • 5.Accept-Ranges:Web服务器表明自己是否接受获取某个实体的一部分(比如文件的一部分)请求,这里主要用于部分文件传输,实际上我们用的比较少。bytes表示接受传输多大长度内容,none表示不接受。

    • 6.Age:一般当服务器用自己缓存的实体去响应请求时,可以用该头部表明实体从产生到现在经过了多长时间,如Age: 3600。

    • 7.Allow:该参数头部可以设置服务端支持接收哪些可用的HTTP请求方法,例如GET、POST、PUT,如果不支持,则会返回405(Method Not Allowed)。

    • 8.Authorization:当客户端接收到来自Web服务器的WWW-Authenticate响应时,后面可以用该头部来携带自己的身份验证信息给Web服务器直接进行认证。

    • 9.Cache-Control:用来声明服务器端缓存控制的指令。包括请求设置指令和响应请求指令。

    请求控制指令如下。
    no-cache:不使用缓存实体,要求从Web服务器去请求内容。
    max-age:只接受Age值小于max-age值的内容,即没有过期的请求对象。
    max-stale:可以接受过去的对象,但是过期时间必须小于max-stale值。
    min-fresh:接受生命期大于其当前Age跟min-fresh值之和的缓存对象。
    响应控制指令如下。
    public:可以用Cache中内容回应任何用户。
    private:只能用缓存内容回应先前请求该内容的具体用户。
    no-cache:可以设置哪些内容不被缓存。
    max-age:设置响应中包含对象的过期时间。
    ALL: no-store不允许缓存。

    • 10.Connection:在请求头中,close告诉Web服务器或者代理服务器,在完成本次请求响应后断开连接,无须等待本次连接的后续请求,keep-alive告诉Web服务器或者代理服务器,在完成本次请求响应后保持连接,等待本次连接的后续请求。在响应头中,close连接已关闭。keep-alive保持连接,等待本次连接的后续请求,如果浏览器请求保持连接,则该头部表明希望Web服务器保持连接的时长(秒),例如,keep-alive:300。

    • 11.Content-Encoding:与请求头的Accept-Encoding对应,指Web服务器表明使用何种压缩方法(gzip,deflate)压缩响应中的对象,例如,Content-Encoding:gzip。

    • 12.Content-Language:与请求头中的Accept-Language对应,Web服务器告诉浏览器响应的媒体对象语言。

    • 13.Content-Length:Web服务器告诉浏览器HTTP请求内容的长度。例如,Content-Length: 1024。

    • 14.Content-Range:Web服务器表明该响应包含的部分对象为整个对象的哪个部分。

    • 15.Content-Type:与请求头的Accept对应,指明Web服务器告诉浏览器响应的对象的类型。例如,Content-Type:application/xml。

    • 16.Etag:对象(比如URL)的标志值。一个对象(如HTML文件)如果被修改了,其Etag也会被修改,所以Etag的作用和Last-Modified差不多,主要供Web服务器判断一个对象是否改变。例如前一次请求某个HTML文件时获得了其Etag,当这次又请求该文件时,浏览器就会把先前获得的Etag值发送给Web服务器,然后Web服务器会将这个Etag值跟该文件当前的Etag值进行对比,判断文件是否改变。

    参考:<<现代前端技术解析>>

    相关文章

      网友评论

          本文标题:常见HTTP报文的头部域信息内容

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