深入理解Session与Cookie

Session与cookie的作用都是为了保持访问用户与后端服务器的交互状态。

cookie通过把所有要保存的数据通过HTTP协议的头部从客户端传递到服务端,又从服务端再传回到客户端,所有的数据都存储在客户端的浏览器里。

但cookie可以通过插件被查看和修改,所有安全性不高;

相比较而言session的安全性要高的多,因为session是将数据保存在服务端,只是通过cookie传递一个sessionID而已,所有session更适合存储用户的隐私数据;

Cookie:

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

          response对象提供的Cookie操作方法只要一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,而

          删除一个Cookie对象也只能通过将maxAge设置为0才可以。

  cookie不可跨域性:Cookie具有不可跨域名性。根据Cookie规范,浏览器访问Google只会携带Google的Cookie,而不会携带Baidu的Cookie。Google也只能操作Google

          的Cookie,而不能操作Baidu的Cookie.

Sesson:

  Session对象是javax.servlet.http.HttpSession接口的实例化对象,所以session只能应用在HTTP协议中。 

  服务器在为不同用户生成session的时候,为了以后能再认出这个用户,九尾每个用户生成一个sessionID,并将sessionID发送给不同的用户的浏览器中,在浏览器那边用一个cookie对象来存储(JSESSIONID即该sessionID);

  
原文地址:https://www.cnblogs.com/yzf666/p/6257330.html