HTTP使用Cookie管理状态

2019-01-14  本文已影响0人  小码弟

HTTP是无状态协议,不对之前发生过的请求和响应的状态进行管理。也就是说,无法根据之前的请求对这次请求进行处理。

假设要求登录认证的web不记录已登录的状态,那么每次跳转新页面不是要再次登录,就是在每次请求报文中添加参数来管理状态。

不可否认,无协议状态有其优点。不必保存状态信息可以节省服务器的CPU内存资源。从另一方面讲,HTTP的简单性才使得它被广泛应用。

无状态带来了简洁性,但web的快速发展又对有状态提出了需要,于是引入了Cookie技术。Cookie通过在请求和响应报文中写入Cookie信息来控制客户端状态。

Cookie本质上是存放在用户浏览器上的一段文本。

Cookie会根据从服务器发来的响应报文内一个叫做Set-Cookie的首部信息,通知客户端保存Cookie。当下次客户端再往该服务器发送请求时,请求报文会自动带上Cookie信息传给服务器。
服务器发现客户端传过来的Cookie信息后,会检查是哪个客户端发来的连接请求,然后对比服务器上的记录,得到之前的状态信息。

Snip20190114_1.png Snip20190114_2.png Snip20190114_4.png
上一篇 下一篇

猜你喜欢

热点阅读