会话跟踪

1.常用的会话跟踪技术?有两种,Cookie和Session。Cookie 通过在客户端记录确定用户身份,Session通过在服务器记录确定用户身份。

2.为什么要进行会话跟踪?Web应用程序是使用http协议传输数据的。Http协议是无状态的协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。

3.什么是Cookie?Cookie实际上是一小段文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。【Cookie功能需要浏览器的支持,如果浏览器不支持Cookie或者把Cookie禁用了,Cookie功能就会失效,不同的浏览器采用不同的方式保存Cookie】

4.Cookie的不可跨域名性。Cookie在客户端是由浏览器来管理的。浏览器能够保证Google只会操作Google的Cookie而不会操作Baidu的Cookie,而不会操作Baidu的Cookie从而保证用户的隐私安全

5.Cookie的有效期

 Cookie的maxAge 决定着Cookie的有效期,单位为秒(Second)。Cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写属性。

   如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。maxAge为负数的Cookie,为临时Cookie,不会被持久化,不会被写到Cookie文件中。Cookie信息保存在浏览器内存中;因此关闭浏览器该Cookie就消失了。Cookie默认的maxAge值为-1

   如果maxAge为0,则表示删除该Cookie。Cookie的机制没有提供删除Cookie的方法,因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存删除。

  Cookie并不提供修改、删除操作。如果要修改某个Cookie,只需要新建一个同名的Cookie,并添加到response中覆盖原有的Cookie。如果要删除某个Cookie,只需要新建一个同名的Cookie,并将maxAge设置为0,并添加到response中覆盖原来的Cookie。注意是0而不是负数。

  Cookie是不可跨域名的。这是由Cookie的隐私安全机制决定的,正常情况下,同一个一级域名下的两个二级域名如www.helloweenvsfei.com和images.helloweenvsfei.com也不能交互使用Cookie,因为二者的域名并不严格相同。如果想所有的helloweenvsfei.com名下的二级域名都可以使用该Cookie,需要设置Cookie的domain参数。

  Cookie cookie = new Cookie("time","20080808");

  cookie.setDomain(".helloweenvsfei.com");

  cookie.setPath("/");

  cookie.setMaxAge(Integer.MAX_VALUE);

  response.addCookie(cookie);//输出到客户端。

 

转载于:https://www.cnblogs.com/zuiaiyezi/p/5395706.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值