HTTP -> 请求头

文章目录

常规

在这里插入图片描述

请求网址: http://192.168.0.25:8284/XML.xml
请求方法: GET
状态代码: 200 
远程地址: 192.168.0.25:8284
引荐来源网址政策: strict-origin-when-cross-origin

请求网址、请求方法、状态代码、远程地址不浪费时间解释了

引荐来源网址政策: strict-origin-when-cross-origin

  • 这个值不是随便填的,有这些个选项
#默认按照浏览器的机制设置referrer的内容
"",

#不显示referrer的任何信息在请求头中
"no-referrer",

#默认值。当从https网站跳转到http网站或者请求其资源时(HTTPS→HTTP),不显示referrer的信息
"no-referrer-when-downgrade",

#浏览器只会显示referrer信息给同源网站。所谓同源网站,是协议、域名、端口都相同的网站。
"same-origin",

#浏览器在referrer字段中只显示源网站的源地址(即协议、域名、端口),而不包括完整的路径
"origin",

#不允许referrer信息显示在从https网站到http网站的请求中
"strict-origin",

#当发请求给同源网站时,浏览器会在referrer中显示完整的URL信息,发个非同源网站时,则只显示源地址
"origin-when-cross-origin",

#不允许referrer信息显示在从https网站到http网站的请求
"strict-origin-when-cross-origin",

#浏览器总是会将完整的URL信息显示在referrer字段中,无论请求发给任何网站
"unsafe-url"

作用

  • 举例: 打开百度,点击一个链接,跳转到另一个页面
  • 点击一个链接就是发出一个请求,请求的参数包含请求网址、请求方法之外
  • 会提供一个Referer请求参数,告诉服务器,这个请求是从哪个网址上发出来的
  • 这个请求是百度发出的Referer:https://www.baidu.com/
  • 这个请求是B站发出的Referer:https://www.bilibili.com/
  • 引荐来源网址政策: strict-origin-when-cross-origin是规定Referer:https://www.baidu.com/的格式的
  • 不允许referrer信息显示在从https网站到http网站的请求

请求

在这里插入图片描述

  • Accept:客户端希望接受的数据类型
#返回任何类型都可以
Accept: */*

#返回text/xml,服务器不是返回这个类型,会出现406,not acceptable错误
Accept:text/xml

#返回application/json,服务器不是返回这个类型,会出现406,not acceptable错误
Accept:application/json

#返回text/xml,application/json这两个中的一个就行
Accept:text/xml,application/json
  • Accept-Encoding:浏览器支持的压缩格式编码类型
Accept-Encoding: gzip	#LZ77 压缩算法
Accept-Encoding: deflate	#deflate 压缩算法
Accept-Encoding: compress	#LZW 压缩算法
Accept-Encoding: identity	#未经过压缩和修改
Accept-Encoding: Br	#表示采用Brotli 算法的编码方式
  • Accept-Language: 希望采用的语言或语言组合
#zh-cn表示简体中文;zh 表示中文;
#q是权重系数,范围 0 =< q <= 1,q 值越大,越希望是这个语言
Accept-Language: zh-cn,zh;q=0.5
Accept-Language: zh-CN,zh;q=0.9
  • Cache-Control: 控制缓存的开关,是否开启了缓存,使用了哪种缓存方式
Cache-Control: no-cache	#不使用缓存

public: http通信的过程中,包括请求的发起方(浏览器)、代理缓存服务器都可以进行缓存。
private :只允许请求的发起方(浏览器)进行缓存。
no-cache:可以在请求的发起方(浏览器)进行缓存,但是每次都需要去服务器进行资源验证。
no-store:任何地方都不可以缓存。
max-age:<20> 表示缓存多少秒之后过期
s-maxage:<20>表示代理缓存服务器中的静态资源多少秒之后过期
must-revalidate:缓存(浏览器和代理缓存服务器中都是)过期后必须去重新验证。
proxy-revalidate:代理缓存服务器中缓存过期后必须去验证。
  • Connection:http连接方式
Connection: keep-alive#保持连接,长连接,不需要3次握手
connection:close#随时关闭,每次重新请求都要3次握手验证
  • Cookie: 验证信息
Cookie: curSystem=; token=12345; userId=12345; userName=12345; curProject=12345; curDisplayProject=12345

- 浏览器所有的Cookie信息都会存在一个Cookie文件中(里面包含的你浏览的所有网站,baidu,b站...)
- 例如在csdn发起一次请求,请求的Cookie参数就会在文件里找csdn对应的值,加到请求参数
- 一开始服务器只需要验证`userName`或者`userId`就可以
- 慢慢的验证方式变得多了,出现了token,curProject这些值拿去验证
  • Host: 请求的网址
Host: 192.168.0.25:8284
Host: www.baidu.com
  • Pragma: 控制缓存的开关
Pragma: no-cache

- 过时的控制缓存的开关,浏览器为了兼容性,又加上的控制缓存的开关
  • Referer: 请求之前所在的网址位置
Referer: http://192.168.0.25:8284/config.html

- 请求发出时所在的网址位置
- 服务器可以比较这个网址,得知你是不是个盗版的地址,想要请求(盗版网址的就不让请求)
- 服务器也可以得知这个网址不是我指定的地址,然后让你调到正版的网址(小网站乱跳)
  • User-Agent: 浏览器版本、电脑系统版本等信息
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
  • X-Requested-With: 这是一个Ajax请求
X-Requested-With: XMLHttpRequest

- 不是Ajax请求不会有这个参数
- Ajax与HTTP的区别就是,Ajax请求后不用刷新网页,正常HTTP请求要重新刷新网页才能显示

响应

在这里插入图片描述

  • Accept-Ranges: 接受范围请求
#定义请求的单位,接受范围请求,可以断一下再连一下,不会断开下次重新下载
Accept-Ranges: bytes	
  • Connection:http连接方式
Connection: keep-alive#保持连接,长连接,不需要3次握手
connecti
  • Content-Length: 描述HTTP消息实体的传输长度
Content-Length: 36802	#数据的长度
  • Content-Type: 响应的类型
Content-Type: application/xml
  • Date: 时间
Date: Wed, 08 Dec 2021 06:38:50 GMT
  • ETag: W/"36802-1637402368000"
  • Keep-Alive: timeout=20
  • Last-Modified: Sat, 20 Nov 2021 09:59:28 GMT
定义缓存的验证码(ETag)
连接时间(Keep-Alive)
最后改变的时间,下一次请求服务器可以哪这个时间与自己的最后改变的时间比较判断缓存(Last-Modified)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值