客户端识别与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机制的主要内容,如果未能解决你的问题,请参考以下文章

http 学习笔记

《图解HTTP》摘要

http协议——cookie详解

cookie与session

Cookie与Session

小白理解Session与Cookie