Cookie与Session(简单购物车示例)

Cookie 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用 response 向客户端浏览器颁发一个 Cookie。客户端浏览器会把 Cookie 保存起来。当浏览器再请求该网 站时,浏览器把请求的网址连同该 Cookie 一同提交给服务 器。服务器检查该 Cookie,以此来辨认用户 状态。服务器还可以根据需要修改Cookie的内容。    cookie 就是服务器存放在浏览器的一小份数据(只能是字符串,并且不超过4kb),以后浏览器每次访问 我这个服务器都会将cookie携带过来。 

Session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 Session 保存 在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是 Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。 

如果说 Cookie 机制是通过检查客户身上的“通行证”来确定客户身份的话,那么 Session 机制就是 通过检查服务器上的“客户明细表”来确认客户身份。Session 相当于程序在服务器上建立的一份客户档 案,客户来访的时候只需要查询客户档案表就可以了。 

问:request.getSession(true) 和 request.getSession(false)的区别 ?
  request.getSession(true):若存在会话则返回该会话,否则新建一个会话。
  request.getSession(false):若存在会话则返回该会话,否则返回 NULL
  HttpServletRequest.getSession(true)等同于 HttpServletRequest.getSession() HttpServletRequest.getSession(false)等同于:如果当前 Session 没有就为 null

cookie 和session 的区别:

  1、cookie 数据存放在客户的浏览器上,session数据放在服务器上。

  2、cookie 不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗    考虑到安全应当使用session。

  3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能    考虑到减轻服务器性能方面,应当使用COOKIE。

  4、单个cookie 保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

  5、所以个人建议:    将登陆信息等重要信息存放为SESSION    其他信息如果需要保留,可以放在COOKIE中。 

猜你喜欢

转载自www.cnblogs.com/in-the-game-of-thrones/p/11427603.html
今日推荐