Cookie

一、用户识别机制

1.1 承载用户信息的HTTP首部

HTTP首部
首部名称首部类型        备注
From请求用户的E-mail地址,该首部是由机器人或蜘蛛发送的,浏览器很少发送该信息,以防服务器随意收集发送垃圾邮件
User-Agent请求用户的浏览器软件
Referer请求用户是从哪个页面依照链接跳转过来的
Authorization扩展请求用户名和密码
Client-IP扩展请求客户端的IP地址,通常在HTTP首部并不提供,但web服务器可以找到承载HTTP请求的TCP连接另一端的IP地址
X-Forearded-For扩展请求客户端的IP地址
cookie扩展请求服务器产生的ID标签,通常只向每个站点发送2~3个cookie,避免降低性能以及传送过多无用数据,总之,浏览器只向服务器发送服务器产生的那些cookie

 

 

 

 

 

 

 

 

 

 

 

 

1.1.1 User-Agent

1.1.2 Referer

1.2 客户端IP地址跟踪,通过用户的IP地址对其进行识别

     客户端IP地址并能识别用户,原因在于客户端ip描述的是机器而不是用户,存在着多个用户共用一台机器的情况;其次,很多因特网服务商为用户登陆时动态分配IP,同时,为了提高安全性,并对稀缺的地址资源进行管理,很多用户都是通过网络地址转换;最后,服务器获取的通常都是代理服务器的IP,而不是客户端的。

1.3 用户登录,用认证方式来识别用户

      为了使Web站点的登录简易,HTTP包含了一种内建机制。可以用www-Authenticate和Authorization首部向Web站点传送用户的相关信息。这就意味着向站点发送请求时,头部必须含有相关信息,若是不同站点的,则不断需要用户输入登录名和密码(毕竟不同站点的用户名和密码很大程度上不同)。

1.4 胖URL,一种在URL中嵌入识别信息的技术

      改动后包含了用户状态信息的URL被称为胖URL。

1.5 cookie,一种功能强大且高效的持久身份识别技术

       cookie是当前识别用户,实现持久会话的最好方式。cookie的存在影响了缓存,大多数缓存和浏览器都不允许对任何cookie的内容进行缓存。cookie分为两类:会话cookie和持久cookie。

1.5.1 cookie罐:客户端的状态

        cookie的基本思想:让浏览器积累一组服务器特有的信息,每次访问服务器都将这些信息提供给它。由于浏览器要负责存储cookie信息,因此此系统被称为客户端侧状态。这个cookie规范的正式名为HTTP状态管理机制。

1)cookie的域属性

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

2)cookie的路径属性

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

1.5.2 cookies版本0

         Set-Cookie首部有一个强制性的cookie名称和cookie值。后面跟着可选的cookie属性,中间由分号分隔。

版本0的Set-Cookie属性
Set-Cookie属性描述实例
NAME=VALUE强制的。NAME和VALUE都是字符序列Set-Cookie:customer=Mary
Expires可选的。日期字符串,用来定义cookie的实际生存期Set-Cookie:expires=Wednesday,09-Nov-99 23:12:34 GMT
Domain可选的。浏览器只向指定域中的服务器主机名发送cookie,这样服务器就将cookie限定在特定的域中Set-Cookie:domain="joes-hardware.com"
Path可选的。通过这个属性可以为服务器上特定的文档分配cookieSet-Cookie:path=/orders
Secure可选的。表明只有在HTTP使用SSL安全连接时才会发送cookieSet-Cookie:secure

 

 

 

 

 

 

 

 

 

1.5.3 cookies版本1

Set-Cookie2首部(扩充)
Set-Cookie2属性描述实例
Version可选。这个属性的值为整数,对应cookie规范的版本Set-Cookie2:Version="1"
Comment可选。说明服务器准备如何使用这个cookie。这个值必须采用UTF-8编码 
CommentURL可选。提供了一个URL指针,只向详细描述了cookie目的及策略的文档 
Discard可选。如果选择该属性,就会在客户端程序终止时,只是客户端放弃这个cookie 
Max-Age可选。整数,用于设置以秒为单位的cookie生存期 
Port可选。这个属性可以单独作为关键字使用,应用于cookie的端口列表,即只能向端口与列表中的端口相匹配的服务器提供cookieSet-Cookie2:port=“80,81,8080”

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值