【编号0002】请求头都含有哪些内容字段,怎么理解?

更新时间,来一篇关于请求头的内容介绍

首先,什么是请求头?这里指的是HTTP 1 版本中的请求信息的头部内容,注意,不含主体

0. 背景说明

  • 客户端:你的浏览器

  • 服务器:指的是网站服务器

  • 请求:客户端发送给服务器

  • 响应:服务器发给客户端

下图中给出的内容,就是关于请求头的一个示例,抓包工具是浏览器 > 调试工具 > 网络栏:

在这里插入图片描述

先看图中内容,高亮区域有三个框,分别是General、Response Headers和Request Headers。这里,只看第三个,Request Headers 请求头信息

主:请求头信息介绍

截图中,请求头信息只有9个,分别是:Accept、Accept-Encoding、Accept-Language、Cache-Control、Connection、Cookie、Host、Upgrade-Insecure-RequestS、User-Agent,这是常用的主要内容,下面就拖这些及一些主要字段做介绍

1. Accept:接收

这里面是一些声明信息,就是客户端在请求时,浏览器会自动的在请求头中,注明他能接受的类型信息,例如编码是gzip,语言是zh-CN

解释示例
Accept指定客户端能够接收的内容类型Accept: text/html,application/json
Accept-Encoding指定浏览器可以支持的web服务器返回内容压缩编码类型。Accept-Encoding: gzip
Accept-Language浏览器可接受的语言Accept-Language: zh-CN
2. User-Agent:用户代理

值:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36

每个浏览器都有特定的User-Agent,例如上述的值,包含了操作系统信息(Windows NT 10.0; Win64; x64)、浏览器信息Chrome/75.0.3770.142

3. Connection:连接

在HTTP的请求中,一次完整的请求是:**客户端发起请求,服务端返回响应,完成后并关闭连接。**这是一次最简单的请求了。

但是通常请求并非一次就可以完成,所以如果需要有连续的请求,则请求时,可以将Connection设置成keep-alive,则在连接保持期间,请求的响应速度,会得到更快的响应速度。

Tips:维持时间是3000ms

同样的,有保持连接,就有关闭连接,Connection有两个值,一个是keep-alive;另一个是close;

当值为close时,每次请求,都会发起TCP链接。

4. Host:主机

这个值就是请求网址的域名信息,例如:

  • http://www.spbeen.com/p/d974cd56-388b-49ba-a75c-1b5a9896183c的host,是www.spbeen.com
  • http://127.0.0.1:8000/admin的host,是127.0.0.1:8000,注意要包含端口
5. Referer:来源

浏览器打开了网页a,然后在Referer上看到了网页b的连接,然后就访问了网页b

那就在这个发送请求给服务器要网页b的内容时,请求头的Referer就要上网页a的值,因为是从网页a上获得的网页b的连接

6. Cookie:饼干

cookie这个比较重要,是浏览器用于保存重要信息的,例如登录后的身份信息,就放在cookie里面

cookie的内容,可以非常的多,格式:“ a=b; c=d; e=f; ”,用分号进行分割;

cookie的工作原理:就是当HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。

7. Upgrade-Insecure-Requests:

值:1

这条信息是告诉服务器,自己支持安全的HTTP操作,也就是支持HTTPS协议,并且可以再以后发请求的时候不用http而用https

8. Proxy-Authorization

这个信息比较特殊,也就是一个代理的身份认证信息,这个的使用方式,通常是配合请求时使用的代理来工作的,步骤如下:

  1. 请求时,将代理ip信息、请求头的Proxy-Authorization认证信息,一并带上
  2. 然后请求被发往代理IP服务器上
  3. 服务器读取请求头中的Proxy-Authorization信息
  4. 识别身份,去掉请求头中的代理身份信息
  5. 转发请求到真正的目的地
  6. 拿到响应后,将响应转发给客户端

解释:连接到代理的授权证书

常见值:Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 【后续的值,通常是base64编码】

辅一:General

先上图,在介绍

在这里插入图片描述

这个是最简单的内容,里面记录的信息,依次是:

  1. 请求的网址
  2. 请求的方式 GET 【另外还有POST、DELETE、PUT等等】
  3. 当前的响应状态码 200
  4. 远程服务器的地址:120.27.51.6 以及端口 80
  5. 来源信息策略:降级时不推荐【从https协议降为http协议时不发送referrer给跳转网站的服务器】

辅二:Response Headers

在这里插入图片描述

上图就是响应头的内容,比较的少,介绍如下:

  1. 连接:保持连接
  2. 内容长度:16115
  3. 内容类型:html文本内容,编码是utf-8
  4. 日期:2019年8月17日 11:02,周四
  5. 服务器:nginx 1.13.12版本
  6. X-Frame-Options:SAMEORIGIN,参考下方表格
选项介绍
DENY表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri表示该页面可以在指定来源的 frame 中展示。

辅三:请求包长什么样子

在这里插入图片描述

这是HTTP请求的格式,通常GET请求是不含请求主体的

以上就是本篇文章的全部介绍内容了


!放在最后

如果文章中有什么错误或者建议修改的地方,欢迎留言纠正和回复

如果你喜欢本篇文章,不妨关注一下我们的公众号,每周更新两篇原创技术文档,都是干货

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布啦豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值