为什么需要Cookie?
首先要知道的是,http协议是不保存状态的协议,也就是说协议对于发送过的请求或响应都不做持久化处理,
其目的是为了更快的处理大量事务,确保协议的可伸缩性,但随着web的发展这种简单的设计也有了它的弊端,就生活来说,当你登录到了一家购物网站,当你跳转到该网站的其他页面时如何保持你的登录状态呢?
为了实现期望的保持状态,Cookie就此诞生.
客户端和服务器的通信
在了解Cookie的工作原理之前,我们需要了解一下客户端和服务器之前的通信,简单来说就是客户端向服务器发送一个请求(request),服务器再根据此次请求响应回复(respond),请求和响应都以发送报文的形式进行。
请求报文由请求方法(POST GET PUT等),请求URI,协议版本,请求首部字段和内容实体构成
而响应报文由协议版本,状态码,解释状态码的原因短语,响应首部字段和实体主题构成,如图
Cookie在通信中的运用
Cookie会根据从服务器发送的响应报文的setCookie的首部字段信息,通知客户端保持Cookie.下次客户端再向服务器发送请求时客户端就会自动再请求报文中加入Cookie值再发送给客户端,客户端收到此Cookie后检查发送此Cookie的客户端,对比服务器记录后得到上次的状态信息,以此就实现了“保持登录状态”的功能
具体过程如下: