http请求user_agent字段解析
Posted xy51
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http请求user_agent字段解析相关的知识,希望对你有一定的参考价值。
浏览器的常见User Agent 各字段的解释
浏览器的User Agent字段令人迷惑,例如:某一版本的Chrome访问网络时,User Agent字段如下:
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/33.0.1750.29 Safari/537.36
其中既包含多个公司的浏览器标识,如:Mozilla、Chrome、Safari,也包含多个渲染引擎标识,如:AppleWebKit、KHTML、Gecko。下面我们对这些字段逐个进行解释。
-
Mozilla/5.0: 网景公司浏览器的标识,由于互联网初期浏览器市场主要被网景公司占领,很多服务器被设置成仅响应含有标志为Mozilla的浏览器的请求,因此,新款的浏览器为了打入市场,不得不加上这个字段。
-
Windows NT 6.3 : Windows 8.1的标识符
-
WOW64: 32位的Windows系统运行在64位的处理器上
-
AppleWebKit/537.36:苹果公司开发的呈现引擎
-
KHTML:是Linux平台中Konqueror浏览器的呈现引擎KHTML
-
Geckeo:呈现引擎
-
like Gecko:表示其行为与Gecko浏览器引擎类似
问题
-
请求中为什么既含有Chrome/33.0.1750.29又含有Safari/537.36字段?
答:因为AppleWebKit渲染引擎是苹果公司开发的,而Google公司要采用它,为了获得服务器端的正确响应,仅在Safari浏览器UA字段中增加了Chrome字段。
例如:-
Safari浏览器的UA:Mozilla/5.0 (平台;加密类型;操作系统或CPU;语言)AppleWebKit/AppleWebKit版本号(KHTML, like Gecko) Safari/Safari 版本号
-
Chrome浏览器的UA:Mozilla/5.0 (平台;加密类型;操作系统或CPU;语言)AppleWebKit/AppleWebKit版本号 (KHTML, like Gecko) Chrome/ Chrome 版本号 Safari/Safari 版本号
-
-
为什么UA中包含多个浏览器的标识,如:Mozilla/5.0、Chrome/33.0.1750.29、Safari/537.36,以及渲染引擎标识?
答:多增加一些字段都是为了让服务器检测到它支持的浏览器标识,以便获得服务器的响应,从而提升用户体验。
以上是关于http请求user_agent字段解析的主要内容,如果未能解决你的问题,请参考以下文章
11.28 限定某个目录禁止解析php;11.29 限制user_agent;11.30-11.31
11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31
爬虫基础知识(web前端,请求模块urllib,重构user_agent)
11.28 限定某个目录禁止解析php;11.29 限制user_agent;11.30,11.31 php相关配置(上下)