美文网首页
header响应头

header响应头

作者: whisper330 | 来源:发表于2019-12-31 10:24 被阅读0次

    什么是header


    HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。

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


    header类型

    根据不同上下文,可将消息头分为:

    • Request headers: 从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
    Accept:用户代理可处理的媒体类型
    Accept-Charset:优先的字符集
    Accept-Encoding:优先的内容编码
    Accept-Language:优先的语言
    Host:请求资源所在服务器
    User-Agent:HTTP客户端的信息
    

    以Accept来讲:

    Accept: text/plain;q=0.3,text/html
    

    Accept首部字段可通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。可使用type/subtype这种形式,一次指定多种媒体类型。q代表的是权重值。

    下面是一些常用的媒体类型的例子:



    当服务器提供多种内容时,将会首先返回权重值最高的媒体类型。

    • Response headers: 从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
    Accept-Ranges:是否接受字节范围要求
    Age:推算资源创建经过时间
    Etag:资源的匹配信息
    Location:令客户端重定向值指定URI
    
    • Entity headers: 包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。
    Allow:资源可支持的HTTP方法
    Content-Encoding:实体主体使用的编码方式
    Content-Language:实体主体的自然语言
    Content-Length:实体主体的大小(单位:字节)
    Content-Type:实体主体的媒体类型  
    //例子
    Content-type:application/json
    Content-Type:text/plain;charset=utf-8
    

    Content-type对照表

    • General headers: 同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。
    Cache-Control:控制缓存行为
    Connection:逐跳首部,链接的管理
    Date:创建报文的日期
    Warning:错误通知,通常会告知用户一些与缓存相关的问题的警告
    

    如何设置header

    客户端

    在发送Ajax请求(实质是一个HTTP请求)时,我们可能需要设置上述一些请求头部信息,比如content-typeconnectioncookieaccept-xxx等。xhr提供了setRequestHeader来允许我们修改请求 header。

    xhr.setRequestHeader(header, value);
    
    • 方法的第一个参数 header 大小写不敏感,即可以写成content-type,也可以写成Content-Type,甚至写成content-Type;

    • Content-Type的默认值与具体发送的数据类型有关(详情)。

    • setRequestHeader必须在open()方法之后,send()方法之前调用,否则会抛错;

    需要注意的是,安全起见,有些请求头的值只能由user agent设置:forbidden header namesforbidden response header names.

    服务器端

    以Node.js为例

      response.writeHead(状态码,{header键值对});
      response.setHeader(header键值对);
    

    相关文章

      网友评论

          本文标题:header响应头

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