一文教你区别Cookie和HttpSession

      1.概念及原理

        Cookie对象与HttpSession对象的作用是维护客户端浏览器与服务端的会话状态的两个对象。由于HTTP协议是一个无状态的协议,所以服务端并不会记录当前客户端浏览器的访问状态,但是在有些时候我们是需要服务端能够记录客户端浏览器的访问状态的,如获取当前客户端浏览器的访问服务端的次数时就需要会话状态的维持。

     2.区别

      在Servlet中提供了Cookie对象与HttpSession对象用于维护客户端与服务端的会话状态的维持。二者不同的是Cookie是通过客户端浏览器实现会话的维持,而HttpSession是通过服务端来实现会话状态的维持。

     举个例子:

  就好比我们去饭店吃饭,饭店约定累计消费100元,送礼品,假设你这次消费了50元,由于是累计消费100会有礼品,因此就需要去存储你消费的金额,那就有两种方式来存储:

  1. 你自己(客户端)带一张卡片(Cookie),每次消费,店家都会在上面记录下来,然后累计到100块以后,店家根据这张卡片来送礼品,这种就是Cookie。
  2. 店家(服务器)自己记录,每次去你只要提供手机号即可,店家查到记录以后对应存储,这种方式就是HttpSession。但是实际上这种情况仍然需要你(客户端)来提供手机号(Cookie)。

以上就是Cookie和HttpSession的区别总结,希望能够帮助到你

你可能感兴趣的:(Cookie,HttpSession,前端,java)