Cookie小结

     HTTP协议是无状态的,服务器对于客户端浏览器的每一次请求都会认为是全新的,即便这个请求来自同一个用户。Cookie就是通过存储数据来维持客户端与服务器的通信状态的载体。如下图,

Cookie

 

  Cookie应用包括:

  • 认证
  • 站点参数存储
  • 网上购物车
  • server端session标识
  • 可通过存储文本数据来实现的任何场景

  Cookie Attribute包括:

  • name/value pair
  • expiry date
  • path
  • domain name
  • 是否使用encrypted connection

 

 

Third-part cookie

   只有set cookie的server或者同一个domain的server才能接收到客户端发送回来的cookie,然后web页面可能包含其他domain的图片或者元素,当server在获取这些元素时set的cookie就叫做third-part cookie。

   网页pop-up的广告就属于这种情况, 因此Cookie的使用在在不同的国家会受到不同的限制。

 

Client与Server不一致的状态

   对于使用Cookie的网站,比如往上购物网站,当用户添加了某个产品到购物车,这是Cookie已经改变,然后点击”Back”,那么Cookie是不会退回之前的状态。这时就会出现不一致,这种情况应用程序需要针对处理。

 

当Cookie被禁用时的几种替代方案

  • IP:此方案不是可靠方案,因为用户的IP地址可能是自动获取,每次都不相同,或者不同的用户可以使用相同的计算机或者代理。
  • Get/Post:通过Get或者Post可以在请求时传递参数,Get会将参数显示的加在URL中,而Post会在请求的body中。
  • Hidden Fileds:这类似与上一方案,通过设置和读取Hidden Fields的值来传递参数。
  • window.name:通过javascript使用DOM的 window.name也可以用来存储数据 (2-32 MB) 
  • Client-side persistence:IE支持将数据保存在浏览器历史、收藏夹、xml或者直接写入存储到磁盘的页面中

From http://en.wikipedia.org/wiki/HTTP_cookie

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值