对http请求头详细探究(request head)

之前面试的时候很多人会问我有关http请求头字段的意思,有些问的特别的偏,但明明实际很少用。问的我一愣一愣的,我就打算用这篇文章好好研究一下。

请求头主要表达的是客户端,也就是浏览器

具体来说http请求,分为三部分:请求行,请求头, 请求体。

下面具体说的请求头部分。

如图

Accept:表示浏览器支持的 MIME 类型。

输入值的example:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8

表示客户端支持的数据格式,或者说客户端“希望”接受到的内容类型。但不一定接收到相应的值。

所以啥是MIME类型?MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。

Accept-Encoding:表示浏览器解码方式。

对于我们主动发起的ajax请求,一般数据量较少,不需要设置该字段。

Accept-Language:表示客户端接受的语言格式。

例子:zh-CN,zh;q=0.9 

那个0.9代表的是zh的权重。

话说做不同语言的网站可以跟后端用这个字段配合,但我看见有人写 一般不推荐这种方法。

Connection: keep-alive , 开启HTTP持久连接

如果每次请求图片等的时候,断开tcp连接。下一个请求在连接tcp连接,就会造成对带宽的过多消耗。

如果不设置,就是默认keep-alive(长连接)

Cookie:表示服务端给客户端传的http请求状态。

因为Http是无状态协议,无法感知到上一次请求状态,所以产生了cookie。

后端可以操作这个cookie,并直接种到我们的浏览器中。

服务端通过 set-cookie这个响应头来向客户端中写入 Cookie 信息。比如说我们在做登陆信息的时候,可以直接取出来用。

DNT:(DNot Track)表明了用户对于网站追踪的偏好。

0代表愿意被追踪。

1代表不愿意被追踪。

Host:请求头指明了服务器的域名(对于虚拟主机来说),以及(可选的)服务器监听的TCP端口号。

HTTP/1.1中必须要指明Host,如果没指明,或者指明多个,或返回404状态。

Referer:表示请求的上一个页面是什么。

我看其他的文章里有写,这个字段可以用来做访问统计。还可以做防盗链,比如你从其他站点引用了qq空间的图是现实不了的,就是通过这个字段来判定的。

User-Agent:

表示首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。

这个让我想起了js中,会用window.navigator.userAgent 来判断什么浏览器和手机系统版本号。

 

多加几个图里没有的字段,哈哈哈

 

Access-Control-Request-Method:请求方法,比如post get delete 等。

 

暂时先这样,后续还会改。

 

转载于:https://www.cnblogs.com/hight1/p/11258370.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值