客户端识别与cookie机制
Posted 空方块
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端识别与cookie机制相关的知识,希望对你有一定的参考价值。
1.个性化接触
HTTP最初是一个匿名、无状态的请求/响应协议。现代的Web站点可以提供个性化的接触。
2.HTTP首部
3.客户端IP地址
早期的Web尝试将客户端IP地址作为一种标示形式使用。
但存在一下缺点:
#1:客户端IP地址描述的是所用的机器,而不是用户。如果多个用户共享一台计算机,就无法区分了;
#2:很多ISP都会在用户登陆时,动态分配IP地址,若每次登陆都不一样,就无法区分了;
#3:通过网络地址转换(NAT),来通过防火墙来浏览网络内容,将实际的客户端IP转换到一个共享的防火墙IP地址;
#4:HTTP代理和网关通常会打开一些新的、到原始服务器的TCP连接。Web服务器看到的将是代理服务器的IP地址,而不是客户端的。
4.用户登陆
若通过www-Authenticate首部和Authorization首部向Web站点传送用户的相关信息。
但是登陆多个Web站点都需要登陆,过于繁琐。
5.胖URL
有些Web站点会为每个用户生成特定版本的URL来追踪用户的身份。
通过fat URL将Web服务器上若干个独立的HTTP事务捆绑成一个会话。
缺点:
#1:丑陋URL
给新用户带来困扰
#2:无法共享的URL
URL包含特定用户和会话相关的状态信息,发给他人,可能会无意中将你积累的个人信息共享出去了
#3:破坏缓存
不再有可供公共访问的URL需要缓存了
#4:额外的服务器负荷
需要重新html页面使URL变胖
#5:逃逸口
用户跳转到其他站点或者请求一个特定的URL,无意间逃离了胖URL会话,就会丢失他的进展(如购物车又变为空了)
#6:在会话间是非持久的
除非收藏了URL,否则用户退出登陆,所有信息全丢
6.cookie
cookie是当前识别用户,实现持久会话的最好方式。由网景公司开发,现在所有浏览器都支持。
6.1.cookie的类型
#1:会话cookie
临时的,记录了用户访问站点时的设置和偏好,退出浏览器,会话cookie就被删除了;
#2:持久cookie
生存时间更长一些,存储在硬盘上,浏览器退出,会计算机重启,仍然存在。
6.2.cookie工作原理
Web服务器通过包含Set-Cookie或Set-Cookie2首部的HTTP响应,将cookie贴在用户身上。
6.3.cookie记录客户端状态
cookie的基本思想是让浏览器积累一组服务器特有的信息,每次访问服务器都会将这些信息提供给它。
6.4.不同站点使用不同的cookie
#1:cookie的域属性
产生cookie的服务器可以向Set-Cookie响应首部添加一个Domain属性来控制哪些站点可以看到那个cookie。
Set-Cookie: user="maray17"; domain="airtravelbargains.com"
以.airtravelbargains.com结尾的站点都会收到该cookie。
#2:cookie路径属性
cookie规范允许将cookie与部分Web站点关联起来。
Set-Cookie: user="maray17"; domain="airtravelbargains.com"; path=/autos/
若用户访问http://www.airtravelbargains.com/special.html,就获取不到上面的cookie;
若用户访问http://www.airtravelbargains.com/autos/index.html,才可以获取到上面的cookie。
6.5.cookie成分
#1.cookie版本0
Set-Cookie: name=value [; expires=date] [; path=path] [; domain=domain] [; secure]
#2:cookie1(RFC 2965)
6.6.cookie与会话跟踪
以上是关于客户端识别与cookie机制的主要内容,如果未能解决你的问题,请参考以下文章