在CHROME浏览器中有个操作看似相同操作但会触发不同的行为。这个情况是,刷新页面(F5 or Ctrl+F5)和在地址栏点击回车。对于用户来说都是重新加载页面,而对于浏览器来说则是完全不同的行为,这点成功发出的头可以窥探到一些信息。
不同的结果
在目前的HTTPS头简易检测页面中可以体验到这一点。
回车触发加载
```
{
"ret": true,
"similar": [
{
"os_client": "browser|*|Blink:129-141",
"dist": 0.99,
"version": 1
}
],
"err_info": [],
"os_client_key_arr": {
"browser|*|Blink": {
"os_client": {
"start_version": 129,
"end_version": 141
},
"score": 0.99,
"ret": true,
"dist": 0.99,
"version": {
"129": 0.9887971698113207,
"130": 0.9887971698113207,
"131": 0.9887971698113207,
"132": 0.9887971698113207,
"133": 0.9887971698113207,
"134": 0.9887971698113207,
"135": 0.9887971698113207,
"136": 0.9887971698113207,
"137": 0.9887971698113207,
"138": 0.9887971698113207,
"139": 1,
"140": 0.9887971698113207,
"141": 0.9887971698113207
}
}
},
"client_key": "browser|*|Blink",
"client_version": "141.0",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0"
}
```
刷新
```
{
"ret": false,
"similar": [],
"err_info": [
"CLIENT_SCORE_TOO_LOW"
],
"os_client_key_arr": {
"browser|*|Blink": {
"os_client": [
{
"|129-141": {
"start_version": 129,
"end_version": 141,
"count": 60,
"dist": 1
}
}
],
"score": [
1
],
"ret": false,
"dist": 0
}
},
"client_key": "browser|*|Blink",
"client_version": "141.0",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0"
}
```
可以发现,其结果是不同的,后者会出现不匹配的情况,原因是这个情况没有被收录,匹配到了较低的评分。
原因
目前检测页面主要测试doc,doc_redirect和 fetch,经过对比,其中fetch是一致的。而doc和doc_redirect则出现了不同的情况。
doc
{“type”:“doc”,“Protocol”:“2”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”,“header”:[[“sec-ch-ua”,"“Microsoft Edge”;v=“141”, “Not?A_Brand”;v=“8”, “Chromium”;v=“141"”],[“sec-ch-ua-mobile”,"?0"],[“sec-ch-ua-platform”,"“Windows”"],[“upgrade-insecure-requests”,“1”],[“user-agent”,“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”],[“accept”,“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7”],[“sec-fetch-site”,“none”],[“sec-fetch-mode”,“navigate”],[“sec-fetch-user”,"?1"],[“sec-fetch-dest”,“document”],[“accept-encoding”,“gzip, deflate, br, zstd”],[“accept-language”,“en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7”],[“priority”,“u=0, i”]],“header_keys”:“sec-ch-ua;sec-ch-ua-mobile;sec-ch-ua-platform;upgrade-insecure-requests;user-agent;accept;sec-fetch-site;sec-fetch-mode;sec-fetch-user;sec-fetch-dest;accept-encoding;accept-language;priority”}
{“type”:“doc”,“Protocol”:“2”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”,“header”:[[“cache-control”,“max-age=0”],[“sec-ch-ua”,"“Microsoft Edge”;v=“141”, “Not?A_Brand”;v=“8”, “Chromium”;v=“141"”],[“sec-ch-ua-mobile”,"?0"],[“sec-ch-ua-platform”,"“Windows”"],[“upgrade-insecure-requests”,“1”],[“user-agent”,“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”],[“accept”,“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7”],[“sec-fetch-site”,“same-origin”],[“sec-fetch-mode”,“navigate”],[“sec-fetch-user”,"?1"],[“sec-fetch-dest”,“document”],[“accept-encoding”,“gzip, deflate, br, zstd”],[“accept-language”,“en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7”],[“priority”,“u=0, i”]],“header_keys”:“cache-control;sec-ch-ua;sec-ch-ua-mobile;sec-ch-ua-platform;upgrade-insecure-requests;user-agent;accept;sec-fetch-site;sec-fetch-mode;sec-fetch-user;sec-fetch-dest;accept-encoding;accept-language;priority”}
- 刷新会增加 [‘cache-control’, ‘max-age=0’]
- sec-fetch-site 值会被修改none => same-origin
- 头顺序会发生变化
doc_redirect
{“type”:“doc_redirect”,“Protocol”:“2”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”,“header”:[[“upgrade-insecure-requests”,“1”],[“user-agent”,“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”],[“accept”,“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7”],[“sec-fetch-site”,“none”],[“sec-fetch-mode”,“navigate”],[“sec-fetch-user”,"?1"],[“sec-fetch-dest”,“document”],[“sec-ch-ua”,"“Microsoft Edge”;v=“141”, “Not?A_Brand”;v=“8”, “Chromium”;v=“141"”],[“sec-ch-ua-mobile”,"?0"],[“sec-ch-ua-platform”,"“Windows”"],[“accept-encoding”,“gzip, deflate, br, zstd”],[“accept-language”,“en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7”],[“priority”,“u=0, i”]],“header_keys”:“upgrade-insecure-requests;user-agent;accept;sec-fetch-site;sec-fetch-mode;sec-fetch-user;sec-fetch-dest;sec-ch-ua;sec-ch-ua-mobile;sec-ch-ua-platform;accept-encoding;accept-language;priority”}
{“type”:“doc_redirect”,“Protocol”:“2”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”,“header”:[[“cache-control”,“max-age=0”],[“upgrade-insecure-requests”,“1”],[“user-agent”,“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0”],[“accept”,“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7”],[“sec-fetch-site”,“same-origin”],[“sec-fetch-mode”,“navigate”],[“sec-fetch-user”,"?1"],[“sec-fetch-dest”,“document”],[“sec-ch-ua”,"“Microsoft Edge”;v=“141”, “Not?A_Brand”;v=“8”, “Chromium”;v=“141"”],[“sec-ch-ua-mobile”,"?0"],[“sec-ch-ua-platform”,"“Windows”"],[“accept-encoding”,“gzip, deflate, br, zstd”],[“accept-language”,“en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7”],[“priority”,“u=0, i”]],“header_keys”:“cache-control;upgrade-insecure-requests;user-agent;accept;sec-fetch-site;sec-fetch-mode;sec-fetch-user;sec-fetch-dest;sec-ch-ua;sec-ch-ua-mobile;sec-ch-ua-platform;accept-encoding;accept-language;priority”}
- 刷新会增加 [‘cache-control’, ‘max-age=0’]
- sec-fetch-site 值会被修改none => same-origin
- 头顺序会发生变化
其他浏览器
- firefox 和 Safari 不会出现该情况