![]() 有朋友在后台留言,询问如何区分用户是在普通浏览器还是在微信里面打开自家网站的,我是建议他看下「UA的故事」这篇历史文章,然后留下这段微信的UA:「Mozilla/5.0 (Linux; Android 6.0.1; SM-G9006V Build/MMB29U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.106 Mobile Safari/537.36 MicroMessenger/6.3.15.49_r8aff805.760 NetType/WIFI Language/zh_CN」 通过UA,服务器可以知道用户在什么浏览器上浏览网页,如果还想知道一些其它信息,应该从哪来查到呢?答案就是HTTP协议的Header。HTTP协议的Header是一块数据区域,分为两种类型,客户端向服务区发送请求时带的是请求头,而服务器响应客户端数据时,带的是响应头。请求头里面主要是一些客户端的基础信息(UA就是其中的一部分),而响应头里面是响应数据的一些信息,以及服务器要求客户端如何处理这些响应数据的指令。 我们来看栗子,这是打开豆瓣主页的一个请求头,里面的关键信息有:
![]() 当服务器收到我的这个请求后,会经过一系列处理,返回我一个数据包,而响应头里面,就会描述这个数据包的基本信息,里面的关键信息有:
![]() 通过HTTP的Header,可以识别出用户的一些详细信息,方便做更为定制化的需求,如果你想探索一下自己发出的请求中头里面有些什么,你可以这样做:打开Chrome浏览器并按下F12,唤起Chrome开发者工具,选择network这个tab,你发出的每个请求的详情都会在这里显示了。 ![]() 尽情的玩耍吧~ #专栏作家#给产品经理讲技术,微信公众号(pm_teacher),人人都是产品经理专栏作家。资深程序猿,专注客户端开发若干年,对前端、后台技术略懂,热衷于对新的科技领域的探索。 本文原创发布于人人都是产品经理。未经许可,禁止转载。 题图来自PEXELS,基于CC0协议 |
| 本文出处: http://www.toutiao.com/a6467071704953782797/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|