Cookie原理介绍

Cookies几乎无处不在,十分常用,初学JSP与Servlet的时候,只是简简单单的用了一下,现在通过看书理解了一些原理和大家分享


1.Cookies


中文名称为小型文本文件或小甜饼,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。


ww

上面是本地的Cookie,就是加密过的

Cookies一词用在程序设计中是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。从本质上讲,它可以看作是你的身份证保存的信息片断以"名/值"对(name-value pairs)的形式储存,一个"名/值"对仅仅是一条命名的数据。

简单讲就是Cookies就像身份证一样来核实你,浏览网站的时候只有出示你的身份证就好了,图片什么的都存储在服务器端呢,核实好了,给你显示

下面学习一下响应报头Set-Cookie 服务器利用它来发送Cookie

Set-cookie: xid=9988; domain=.baidu.com; path=/; expires=Sat Oct 16 22:27:18 2012

这就是一个格式 xld=9988就是名为xid值为9988的Cookie 

参数​
说明​
name 必需。规定 cookie 的名称。 value必需。规定 cookie 的值。
expire可选。规定 cookie 的有效期。path可选。规定 cookie 的服务器路径。
domain可选。规定 cookie 的域名。secure可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

当浏览器收到上面响应报头后,可以拒绝或者接受这个Cookie,如果接受的话浏览器发送请求给xx服务器的同时也会发送报头,服务器接受后就可以得到状态信息了
也就是一个字符串 9988

总结:请求资源时【存在这个网站Cookie时】,同时发送请求报头,服务器从报头中得到Cookie,通过标识取出在服务器中存储的对应的状态信息,完成用户追踪。

2.API和使用介绍

Cookie的使用太过简单,就是创建  Cookie cookie=new Cookie("133","2224");参数为两个字符串
res.addCookie(c);//添加一个cookie到客户端

属性也就是上面讲的几种,指的介绍的就是maxage,最大生存时间,过了这个时间就会丢弃 生存时间要是0,马上删除 要是负数 浏览器关闭服务器删除

如何得到Cookie [] cookies=request.getCookies();返回一个Cookie数组



要点:cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。意思是麦当劳的会员卡只能在麦当劳的店里出示,如果某家分店还发行了自己的会员卡,那么进这家店的时候除了要出示麦当劳的会员卡,还要出示这家店的会员卡。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值