Open Cosen95 opened 4 years ago
参考极客时间的浏览器工作原理与实践课程
极客时间
浏览器工作原理与实践
看一下整个登录的流程吧:
POST
Set-Cookie
Set-Cookie: UID=3431uad;
UID=3431uad
HTTP
Cookie
Cookie: UID=3431uad;
通过上面这个流程你可以知道浏览器页面状态是通过使用 Cookie 来实现的。Cookie流程可以参考下图:
简单地说,如果服务器端发送的响应头内有 Set-Cookie 的字段,那么浏览器就会将该字段的内容保持到本地。当下次客户端再往该服务器发送请求时,客户端会自动在请求头中加入 Cookie 值后再发送出去。服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到该用户的状态信息。
看一下整个登录的流程吧:
POST
方法提交用户登录信息给服务器。Set-Cookie
字段里,如下所示,然后把响应头发送给浏览器。Set-Cookie
字段的情况,浏览器就会把这个字段信息保存到本地。比如把UID=3431uad
保存到本地。HTTP
请求,但在发起请求之前,浏览器会读取之前保存的Cookie
数据,并把数据写进请求头里的Cookie
字段里(如下所示),然后浏览器再将请求头发送给服务器。HTTP
请求头数据之后,就会查找请求头里面的Cookie
字段信息,当查找到包含UID=3431uad
的信息时,服务器查询后台,并判断该用户是已登录状态,然后生成含有该用户信息的页面数据,并把生成的数据发送给浏览器。通过上面这个流程你可以知道浏览器页面状态是通过使用
Cookie
来实现的。Cookie
流程可以参考下图:简单地说,如果服务器端发送的响应头内有
Set-Cookie
的字段,那么浏览器就会将该字段的内容保持到本地。当下次客户端再往该服务器发送请求时,客户端会自动在请求头中加入Cookie
值后再发送出去。服务器端发现客户端发送过来的Cookie
后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到该用户的状态信息。