Skip to content

Cookie和Session

区别

由于HTTP协议是无状态协议,所以服务端需要记录用户状态时,就需要用某种机制(Session)来识别具体用户。服务端为特定用户创建特定 Session 用于标识这个用户。Session是保存在服务端的,有一个唯一标识。

在服务端保存Session方法很多,内存、数据库、文件都有,集群时也要考虑Session的转移,使用一些缓存服务如Memcached之类来存放。


那么服务端如何识别特定用户? Cookie,每次HTTP请求时,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用Cookie来实现Session跟踪。第一次创建Session时,服务端会在HTTP协议中告诉客户端,需要在Cookie里记录一个Session ID,以后每次请求都把这个会话ID发送到服务器,这样服务端就能识别客户端了。

  • Session是在服务端保存的一个数据结构,用来跟踪用户的状态,该数据可以保存在集群、数据库、文件中
  • Cookie是在客户端保存用户信息的一种机制,用来记录用户信息,也是Session的一种实现方式

共 20 个模块,1301 篇 Markdown 文档。