一、User-Agen

注意在HTTP头部参数的首字母大写格式!

?1.1 什么是User-Agen

1.1.1、 Http Header之User-Agen的User-Agen中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。
1.1.2、用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器 HTTP 请求时发送到服务器!User-Agen也是用户识别的重要部分,通过分析,能知道用户使用的是什么设备、什么浏览器、什么应用等,进而可以分析其购买力、属性、职业等。

?1.2 对UA字串的说明

1.2.1
 出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在 UA 字串尾部可以找到。



1.2.2 操作系统标识



1.2.3 加密等级标识
 N: 表示无安全加密
 I: 表示弱安全加密
 U: 表示强安全加密



1.2.4 浏览器语言
 在首选项 > 常规 > 语言中指定的语言



1.2.5 渲染引擎
 显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息



1.2.6 版本信息
 显示浏览器的真实版本信息,格式为:浏览器/版本信息
注:
1、在广告定向设定中,浏览器定向和操作系统定向均是针对User-Agent中的信息进行定向。
2、欲了解更多的User-Agent信息,请参考User-Agen 字串史



?1.3 User-Agen的作用

通过user-agent不能完全准确的判断是属于那款浏览器。由于UA字符串在每次浏览器HTTP 请求时发送到服务器,所以服务器就可以根据它来做好多事。
比如:
1、统计用户浏览器使用情况。有些浏览器说被多少人使用了,实际上就可以通过判断每个IP的UA来确定这个IP是用什么浏览器访问的,以得到使用量的数据。
2、根据用户使用浏览器的不同,显示不同的排版从而为用户提供更好的体验。有些网站会根据这个来调整打开网站的类型,如是手机的就打开wap,显示非手机的就打开pc常规页面。用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。
既然知道了UA的作用,那么其实客户端也可以使用UA来做一些神奇的事。
比如:伪装 User-Agen 来回避某些侦测特定浏览器才能读取的网站。
如果使用Firefox浏览器插件User-Agen switcher,用户就可以轻松地在不同UA之间切换,把自己伪装成其他浏览器。这样就可以在PC上预览WAP或移动格式的网页,比如专门为iPhone设计的页面。

二、Cookie——用户追踪之基础技术

2.1 关于Cookie
2.1.1 前言

 Cookie是如此的重要,以至于我们后面要讲到的回头客定向、访客频次定向、用户定向等等都需要基于此技术才可以实现,并且我们日常工作中所能见到的第三方监测工具如doubleclick、99click、秒针等也都要利用cookie技术,网站分析工具如GA、百度统计、CNZZ等也需要利用Cookie。如果没有Cookie,互联网广告市场将受到巨大打击,尤其对于目前我们谈论的精准广告而言。如果没有Cookie,网站分析也不从做起,遑论优化了。



2.1.2 Cookie是什么

 Cookie在英文中是小甜品的意思,但在计算机语言中,Cookie指的是当你浏览某网站时,网站存储在你电脑上的一个小文本文件,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,用于用户身份的辨别。Cookie通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。



2.1.3 为什么要Cookie

 因为HTTP协议是无状态的,对于一个浏览器发出的请求,服务器无法区分是不是同一个来源,无法知道上一次用户做了什么。所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据,用于维护浏览器和服务器的会话。我们可以想象一个场景,你没有登录京东时在京东上购物,选择了3件商品放入购物车,在结算时,京东为什么还能知道这三件商品是什么?没错,是Cookie!



2.1.4 Cookie的工作原理

 Cookie利用网页代码中的HTTP头信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。例如:当你在浏览器地址栏中键入了Amazon的URL,浏览器会向Amazon发送一个读取网页的请求,并将结果在显示器上显示。在发送之前,该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon服务器。服务器收到Cookie数据,就会在他的数据库中检索你的ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和Cookie文件中去。如果没有检测到Cookie或者你的Cookie信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的CGI程序将为你创建新的ID信息,并保存到数据库中。(此例子来源于百度百科——Cookie)



2.1.5 关于Cookie的一些知识点

 1、Cookie是基于浏览器的,因此当电脑上安装多个浏览器时,服务器会生成多个Cookie。虽然是同一个人,但服务器是识别为多个用户。
 2、Cookie是基于浏览器的,因此当同一台电脑有多个人使用时,服务器也只会生成一个Cookie。虽然是多个人,但服务器会认为是一个用户。
 3、Cookie是无法跨设备进行设置的。比如我们在单位和家里分别使用两台电脑,即使我们使用同一种同一版本的浏览器,我们还是生成了两个Cookie,服务器会认为是两个用户。(PS:现在有些浏览器可以同步数据,比如Chrome、Friefox,可以避免这种问题)
请注意:以上所说的Cooke指的全部是Http Cookie。有一种Cookie——Flash Cookie,可以解决多浏览器的问题



2.1.6 关于Flash Cookie

 FlashCookie是由FlashPlayer控制的客户端共享存储技术,鉴于目前Flash技术的普遍性,几乎所有的网站都采用,所以具有同Http Cookie一样的作用。在技术上,通过使用JavaScript与ActionScript可以将Http Cookie和Flash Cookie进行互通。
Flash cookie的优势在于:
1、跨浏览器
不管用户的计算机上安装了多少个浏览器或者浏览器的不同版本,使用Flash Cookie能够使所有的浏览器共用一个Cookie。
2、不易删除
所有的浏览器均提供了清除Http Cookie的快捷方式,但Flash Cookie并没有此种方式,并且其保存位置非常隐蔽,网民难以删除。
3、容量更大
Flash Cookie可以容纳最多100千字节的数据,而一个标准的HTTP Cookie只有4千字节。



2.1.7 Cookie的数量

 1、大多数浏览器支持最大为 4096 字节的 Cookie。因此最好用 Cookie 来存储用户 ID 之类的标识符,用户的详细信息则通过用户 ID从数据库或其他数据源中读取。
 2、浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量。大多数浏览器只允许每个站点存储 20 个 Cookie;当存储更多 Cookie时,最旧的 Cookie 便会被丢弃。有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,通常为 300 个。



2.1.8 Cookie的失效时间

 1、浏览器的Cookie设置会决定是否保存Cookie数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。
 2、如果浏览器允许保存Cookie,那么Cookie的时间由服务器的设置决定。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些Cookie自动消失,绝大多数网站属于这种情况。通常情况下,Cookie包含Server、Expires、Name、value这几个字段,其中对服务器有用的只是Name和value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。



参考:《【总结】浏览器 User-Agent 大全》、《User-Agent详解》.



HTTP协议请求头部的User-Agen和Cookie相关推荐

  1. HTTP请求头部+响应码

    一.当在浏览器输入一个网址后,实际会发生什么? 回答之前,先摘一段<淘宝技术这十年>中的"你刚才在淘宝上买了一件东西"里的一段话,对我理解这个问题有启发. 你发现快过年 ...

  2. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应)

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应) 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.h ...

  3. TCP协议--TCP头部

    <Linux高性能服务器编程>阅读笔记: 1. TCP协议的概念   TCP和UDP是传输层的两个主要协议.TCP相对于UDP来说,是面向连接.字节流和可靠传输.   (1) 面向连接   ...

  4. 浏览器HTTP协议请求头信息

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包含请求的方法.URI.协议版本.以及包含请求修饰符.客户信息和内容的类似于MIME的消息结构 ...

  5. WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...

    核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...

  6. 使用apache的HttpClient进行http通讯,隐藏的HTTP请求头部字段是如何自动被添加的

    我们用apache的HttpClient这个库消费云端的Restful API时,一般都需要两次HTTP调用,第一次获得某种token,比如获取防止跨域请求伪造攻击Cross-site request ...

  7. Net Core 2.1Filter里面获取Controller、Action,请求方法,请求头部,请求参数

    最近做net core 2.1框架,在过滤器里面获取请求信息做全局的缓存,有些获取信息方式跟之前的asp.net mvc有些不同,记录下来 获取请求Controller名 string control ...

  8. java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...

    请求的处理流程 广域网上有大量的并发用户同时访问web服务器,web服务器传递请求给应用服务器(web容器),web容器传递请求给ejb容器,然后ejb容器发送数据库连接请求给数据库. 请求的处理流程 ...

  9. 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用

    cz88 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用 Go 语言编写 进程内缓存结果,重复的 ip 查询响 ...

  10. HTTP协议请求报文与响应文本结构

    HTTP HTTP(hypertext transport protocol) 协议[超文本传输协议],协议详细规定了浏览器和万维网服务器之间互相通信的规则 请求报文 重点是格式与参数 请求行 : P ...

最新文章

  1. [Quiz]竞赛题目 Word Trace
  2. cleanmymac3.9.6下载_单耳兔o2oapp下载-单耳兔o2o商城官方版下载v10.6 安卓版
  3. wrf_input文件解析(PART1)未完
  4. eclipse 如何忽略js文件报错
  5. LeetCode 1609. 奇偶树(层序遍历)
  6. 【十万个编程篇】写文章与“写项目”的差别
  7. 小米再添猛将!原中兴手机CEO曾学忠加盟
  8. 如何轻松了解 Python 必学的 django 框架?
  9. TypeError: unhashable type: 'list'
  10. redis主从配置+哨兵模式
  11. python之heapq
  12. java jsp实验设计心得_jsp课程设计心得_课程设计总结心得
  13. php新浪微博登录接口,php新浪微博登录接口用法实例
  14. [玩转UE4/UE5动画系统>技能系统(GAS)篇] 二 技能 Gameplay Ability(GA)
  15. VSCode 菜单栏不见了,该怎么办
  16. Android 串口蓝牙通信开发Java版本
  17. combo box使用
  18. 让我们恭喜阿根廷队夺得大力神杯
  19. EC200 EC600 EC20接入工业互联网云平台
  20. splatter包安装总结

热门文章

  1. 我是技术男,也曾创业过,也拿过风投......
  2. 麦肯锡《金字塔原理》——做一个逻辑清晰的职场人
  3. 继电器----D型触发器,边沿触发器,累加器
  4. python二级考试程序题批改_python开发一个自动批改本地Word作业的程序
  5. ASCII码中10和13的含义
  6. 【matlab】利用matlab解二元一次方程
  7. 苹果ocr文字识别工具:Text Scanner
  8. 基于python的词频分析
  9. 从底层谈webgis原理设计与实现(二)探究本质,WebGIS前端地图显示之地图比例尺换算原理...
  10. 强烈推荐10本程序员必读的书