http协议
http协议是无状态的,每次请求都是独立的。前一次的请求结果与后一次的请求结果无关,对浏览器来说都是全新的。
状态可以理解为服务器与客户端建立会话时产生的数据,无状态就是这些数据不会被保留。完成一套完整的操作要发送的请求很多,那么如何将上下文请求进行关联呢?这就出现了cookie和session。
cookie与session创建过程:
-浏览器发送request请求给服务器,服务器会分配一个ID标识协同response一同返回。同时在服务器本地创建一个map结构(这就是session),以键值对的形式(key:id,value:会话内容)将每个request存储
-此时的浏览器已经被赋予了一个ID,当浏览器再次发送请求时,服务器会先从request中查找这个ID,根据ID查找到会话内容,会话内容中记录了上一次request的信息状态
-根据查找到的request内容生成基于这些request的response,发送给浏览器。如果有需要会进行会话内容的更新,为下一次request做准备。
总结:
cookie:
是存储在浏览器目录中的文本文件,浏览器运行时,存储在RAM中发挥作用(Session Cookies)。一旦用户从该网站或者服务器退出时,cookie存储在硬盘上(Persistent Cookies)
缺点: