HTTP协议的无状态性:
无状态性:既每次服务端接受到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录,例如某用户已经访问了网站A,但是想访问网站A的另外一个页面,此时因为HTTP协议的无状态性,所以访问B页面需要重新登陆。
无状态性导致的问题:
好处:服务端不需要记录客户端的行为,可以节省性能,提高服务端的并发。
坏处:用户登陆后,切换到其他页面操作时,服务端无法判断是哪个用户登陆的,需要每次跳转的时候,都需要重新登陆,这里弊大于利。
无状态性解决方式:
引入Cookie和Session记录客户端行为,但是Cookie和Session的使用场景略有不同
Cookie:网站登陆场景。例如用户登陆服务端网页后,关闭浏览器重新打开服务端网页也不需要重新登陆。
Session:购物车场景。客户端添加了商品之后,但是服务端是无法感知哪个用户添加了什么产品的,所以需要Session信息存储在服务端来识别。