美文网首页
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响应头

    什么是header HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应...

  • HTTP Header简介

    HTTP Header 协议头的字段(Header),请求(request)或响应(response)。协议头的字...

  • http缓存的知识点

    缓存相关 header Expires 响应头,代表该资源的过期时间。 Cache-Control 请求/响应头,...

  • http缓存

    缓存相关header Expires 响应头,代表资源的过期时间 Cache-Control 请求/响应头,缓存控...

  • PHP 设置响应头来解决跨域问题

    如何通过设置响应头的方式来实现跨越问题 PHP如何设置响应头?PHP中的 header 函数可以就设置响应头, 框...

  • HTTP响应解析

    header();只要改变响应头,就调用该方法。 响应头的解析 1、刷新页面 Refresh:告诉浏览器,间隔多少...

  • 你不知道http和缓存

    缓存相关 header我们先罗列一下和缓存相关的请求响应头。 Expires响应头,代表该资源的过期时间。 Cac...

  • ASP.NET MVC 在 IIS 7.5 中移除多余的响应头

    IIS 会在响应头(Response Header)中添加一些并没有太多实际用处的响应头,在项目中移除常见的几个响...

  • HTTP请求

    HTTP响应头和请求头信息对照表[http://tools.jb51.net/table/http_header]...

  • [南邮](Web)Header

    题目链接: Header 250头啊!!头啊!!!传送门: 点我咯 分析:flag就藏在响应头中 答案:nctf{...

网友评论

      本文标题:header响应头

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