cookie和session

属性:

  • Max-Age有效期 :正表示相对创建时间,负表示使用默认(关闭浏览器销毁),零表示销毁
  • Path在url那个路径下有效(“/”)表示整个web项目下
  • secure:设置了属性secure,cookie只有在https协议加密情况下才会发送给服务端

服务端创建cookie:
1.new Cookie
2.response.addCookie
3.Cookie[] cookies = request.getCookies;
前端:ajax获取cookie

由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的。怎么办呢?那就给每次新的用户请求时,给它颁发一个身份证(独一无二)吧,下次访问,必须带上身份证,这样服务器就会知道是谁来访问了,针对不同用户,做出不同的响应。,这就是Cookie的原理。

其实cookie是一个很小的文本文件,是浏览器储存在用户的机器上的。Cookie是纯文本,没有可执行代码。储存一些服务器需要的信息,每次请求站点,会发送相应的cookie,这些cookie可以用来辨别用户身份信息等作用。

session

session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
session id就是session的标识符
除非程序通知服务器删除一个session,否则服务器会一直保留。大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。
恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间
调用 session.invalidate 使得session失效

  • 本文作者: dzou | 微信:17856530567
  • 本文链接: http://www.dzou.top/post/319bf02d.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
  • 并保留本声明和上方二维码。感谢您的阅读和支持!