《HTTP权威指南》读书笔记-客户端识别与Cookie机制

一、Cookie的类型

    可以笼统地将Cookie分为两大类:会话Cookie和持久Cookie。

    会话Cookie是一种临时Cookie,它记录了用户访问站点时的设置和偏好。用户退出浏览器时,会话Cookie就被删除了。

    持久Cookie的生存时间更长一些;它们存储在硬盘上,浏览器退出,计算机重启时它们仍然存在。通常会用持久Cookie维护某个用户会周期性访问的站点的配置文件或登录名。两者的唯一区别在于它们的过期时间。

    Cookie中可以包含任意信息,但它们通过都只包含一个服务器为了进行跟踪而产生的独特的识别码,可以是ID号,name,电话号码等.....

二、不同站点使用不同的Cookie

浏览器内部的Cookie罐中可以有成百上千个Cookie,但浏览器不会将每个Cookie都发送给所有的站点。实际上,它们通常只向每个站点发送2~3个Cookie。原因如下:

  • 对所有这些Cookie字节进行传输会严重降低性能。浏览器实际传输的Cookie字节数要比实际的内容字节数多!
  • Cookie中包含的是服务器特有的名值对,所以对大部分站点来说,大多数Cookie都是无法识别的无用数据。
  • 将所有的Cookie发送给所有站点会引发潜在的隐私问题,那些你并不信任的站点也会获取你只想发给其它站点的信息。

总之,浏览器只向服务器发送服务器产生的那些Cookie。


Cookie的域属性:产生Cookie的服务器可以向Set-Cookie响应首部添加一个Domain属性来控制哪些站点可以看到那个Cookie。

Cookie的路径属性:Cookie规范甚至允许用户将Cookie与部分WEB站点关联起来。可以通过Path属性来实现这一功能,这个属性列出的URL路径前缀下所有Cookie都是有效的。

三、Cookie版本0的Set-Cookie属性

NAME=VALUE(强制)

Expires(可选,指定一个日期字符串)

Domain(可选)

Path(可选)

Secure(可选,如果使用了此属性,那么只有在HTTP使用SSL安全连接时才会发送Cookie)




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。