HTTP协议与会话管理

一、当我们访问一个网址的时候,这中间发生了什么?

  1. 输入网址
  2. 浏览器查找域名的IP地址
  3. 浏览器给指定IP地址的Web服务器发送一个HTTP请求
  4. 服务端处理请求
  5. 服务端发回一个HTTP响应
  6. 浏览器渲染显示HTML

二、URL(统一资源定位器)
HTTP协议与会话管理
比如:https://www.baidu.com/s?wd=web%E5%AE%89%E5%85%A8&rsv_spt=1&rsv_iqid=0xe788f9b200007514&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=15&rsv_sug1=12&rsv_sug7=100&rsv_t=c89eNGM8VZwrg9HtV%2BCI9egreXaO3viP%2FCmvMLoKsMBi9FDhrxb50oWLiU3xYNOTivqn&rsv_sug2=0&inputT=4682&rsv_sug4=4682

三、请求一个网址的时候到底发送和返回了什么?
以请求www.baidu.com主页为例
HTTP协议与会话管理

HTTP协议与会话管理

:scheme:https 代表协议,SSL加密
:version:HTTP/1.1代表协议版本
Accept代表文本格式
Accept-Encoding代表编码

接下来再来看下响应头
HTTP协议与会话管理

这两个是百度自己定义的
Bdqid:0xee70c63900009184
Bduserid:798974522

Content-Encoding:gzip代表内容的编码
Content-Type:text/html;charset=utf-8代表内容的格式

设置Cookie
Set-Cookie:BDSVRTM=208; path=/
Set-Cookie:BD_HOME=1; path=/
Set-Cookie:H_PS_PSSID=1436_21103_18560; path=/; domain=.baidu.com

四、cookie
HTTP协议与会话管理
HTTP协议与会话管理

五、session
HTTP协议与会话管理

HTTP协议与会话管理

六、cookie与session的区别

  • cookie的数据保存在客户端浏览器,session保存在服务器
  • 服务端保存状态机制需要在客户端做标记,所以session可能借助cookie机制
  • cookie通常用于客户端保存用户的登录状态
    案例如下:
    HTTP协议与会话管理

    HTTP协议与会话管理

    接下来清除cookie,结果如下:
    HTTP协议与会话管理

HTTP协议与会话管理

结果我们看到页面发生了变化,右上角的登录状态也改变了。