HTTP cookies

来源:互联网 发布:软件质量管理的问题 编辑:程序博客网 时间:2024/05/16 11:02
http cookies 分为 session cookies 和 persistent cookies 两种。
session cookies:
服务器在应答头中发送给客户端一个设置特定字段 Set-Cookie 的数据(各种不同的字段有好几百种),
客户端在请求头中回应给服务器端一个 Cookie 数据。
效果大概如下:
HTTP response from web server:
[...]
Set-Cookie: user_id

HTTP GET from the client:
[...]

Cookie: user_id

之后每次客户端在请求时都会加上这个 Cookie 从而让服务端来识别跟踪用户。session cookies 的特点是不包含过期时间,而且数据只存在内存当中。所以会话关闭就永久的丢失了。这个值而且是个动态的值,新打开一个浏览器窗口 Cookies 的值可能都不同。

persistent cookies 数据包含一个过期时间,保存在客户端的硬盘上。一旦过期,数据会从硬盘上移除。persistent cookies 主要包含一些认证信息(用户名和密码)还有一些个人的偏好设置。

火狐浏览器的 CookieKeeper 用来管理浏览器在本地保存的各种 persistent cookies.



另外 http 抓包插件,HttpFox 可以查看实时的与服务器交互的 cookies 数据。


可以看到,有些 Cookie 过期时间是 End of Session,这些就是 session cookies, 仅仅本次回话有效。


另外一个常用来与 cookies 比较的是 session ,就 HTTP session 而言,本身是一个抽象的概念:表示客户端与服务端之间的交互。由于 http 本身是无状态的,保持 session 的一种实现就是借助 cookie 来传输session id。有的浏览器可能禁止了 cookie ,那么另外一种常用的传输 session id 的方式就是重写 url ,在 url 里带上 session id 信息。


参考。

http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html

原创粉丝点击