http协议在设计之初被设计成无状态特性,客户端的每次请求在服务端看来都是独立且无任何相关性,同一个客户端第一次请求不会与第二次请求有任何关联,即使相隔时间很短。无状态的特性让请求变得很快速且服务器也更加高效,但是随着人们对浏览器功能要求的不断提高,由于无状态导致的不足更加明显,因为有些场景下本次处理需要用到之前的请求的一些信息,如果单纯靠http协议而没有额外的机制是无法办到的。
为了提供一种让一定时间内的每次请求都拥有记忆的会话机制,需要依靠http协议的基础上提供一种解决方案,当然由于涉及到相关信息的存储,所以需要在http协议外另外提供存储介质,通信的主体无非就是客户端和服务端,于是人们可以想到的就是借客户端或服务端存储状态信息,后来基于这两端的存储的方式都被支持。在客户端,一种叫做cookie