HTTP(二)Cookie基础

HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同,用于客户端和服务器之间的通信。

基本的请求报文和响应报文如下:



其中请求方法详细如下图:

注:HTTP1.0是短连接,HTTP1.1之后是长连接

HTTP 是一种不保存状态,即无状态(stateless)协议。使用 HTTP 协议,每当有新的请求发送时,就会有对应的新响应产
生。协议本身并不保留之前一切的请求或响应报文的信息。这是为了更快地处理大量事务,确保协议的可伸缩性,而特意把 HTTP 协议设计成如此简单的。

HTTP的无状态导致的问题:不能保存用户状态,如一个新请求后,就不知道当前登录用户是谁。所以引入cookie

Cookie:

Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。

Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存 Cookie。

当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。

服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。

过程如图:



附: Cookie 服务的首部字段及说明

当服务器准备开始管理客户端的状态时,会事先告知各种信息。可设置的信息如图:







猜你喜欢

转载自blog.csdn.net/gcc_java/article/details/80816718