一些可能你不知道的Http Headers
2023-5-17
| 2023-5-17
0  |  0 分钟
password
Created
May 17, 2023 11:34 AM
type
Post
status
Published
date
May 17, 2023
slug
summary
一些浏览器里的隐藏细节headers, 你平时留意了吗
tags
其他
Http
category
网络
icon

Sec-CH-UA系列

Sec-CH-UA系列主要是为了解决之前user-agent随意性强 没有统一规范的问题
sec-ch系列的header详细定义了设备类型 网络条件 屏幕尺寸等等
默认情况下, 在支持的浏览器中, requestHeaders中就会携带以下的请求头
 
  1. sec-ch-ua
浏览器默认就会带上这个头
属于这个系列的主请求头, 主要格式如下
Sec-CH-UA: "<brand>";v="<significant version>", ...
  • brand: 指所处浏览器的品牌名称 如Google Chrome 内核标志Chromium, 如果是未识别的品牌会展示Not A;Brand
  • significant version: 指对应品牌的版本号信息, 取的是大版本号
 
  1. sec-ch-ua-mobile
浏览器默认就会带上这个头
表示的是用户的偏好, 代表用户是否更加偏爱移动设备的体验
Sec-CH-UA-Mobile: <boolean>
布尔值展示上会成两种样子
  • ?1 代表true 此时用户偏好移动体验
  • ?0 代表false 此时用户不偏好移动体验
 
  1. sec-ch-ua-platform
浏览器默认就会带上这个头
代表用户所处的平台和操作系统信息, 例如: Windows Android等
主要有这几个值: "Android""Chrome OS""Chromium OS""iOS""Linux""macOS""Windows", or "Unknown"
 
  1. Sec-CH-UA-Arch
代表用户所处的架构平台, 例如: ARM X86等等
一般有这几个值: "x86""ARM""[arm64-v8a, armeabi-v7a, armeabi]
架构信息不会主动发送, 需要后端服务显式声明Accept-CH中有这个值才会发送
 
  1. Sec-CH-UA-Bitness
所支持的运算位数, 64位or32位
 
  1. Sec-CH-UA-Full-Version-List
返回的事全版本信息, 而不是第一个的缩略主版本号
 
  1. Sec-CH-UA-Model
手机的设备型号, 例如: Sec-CH-UA-Model: "Pixel 3 XL"
 
  1. Sec-CH-UA-Platform-Version
操作系统版本
 
 

Sec-Fetch系列

Sec-Fetch指示的是请求的相关的内容, http请求时默认就会带上三个:
  • sec-fetch-dest:
  • sec-fetch-mode
  • sec-fetch-site
这类请求头是一种新的网络安全标准, 用来表述请求的元数据, 例如: 请求的目的地, 模式, 来源和用户激活状态, 这些请求头可以帮助服务器识别和过滤非法或恶意的请求, 提高web服务的安全性
 
  1. sec-fetch-dest
指示的事请求的目标.主要是用来在服务器上判定请求是否以符合预期的方式来提供服务.
参数超多
  • audio: 代表请求目标是一个声音文件
  • audioworklet: 音频工作集
  • document: 文档 HTML XML
  • embed: 嵌入内容
  • empty: 空文本
  • font: 文字
  • frame: frame
  • iframe: iframe
  • image: 图片
  • manifest: manifest
  • object: object标签
  • paintworklet: 图画工作集
  • report: 报告
  • script: 脚本
 
  1. sec-fetch-mode
请求的模式
  • cors: 请求是一个CORS的请求
  • navigate: 请求在html文档的跳转期间
  • no-cors: 非CORS的请求
  • same-origin: 同源请求
  • websocket: 标记webwsocket的连接
 
  1. Sec-Fetch-Site
表示请求发起者的来源与请求资源的来源之间的关系
  • crosss-site: 跨站
  • same-origin: 同源
  • same-site: 同一个网站协议, 域名, 但是非同一个端口
  • none: 位置
 
  1. Sec-Fetch-User
代表导航请求是否由用户激活触发
 
 
网络
  • 其他
  • Http
  • Rxjs和它的一些概念Go语言高级编程-RPC和Protobuf
    目录