深入理解Cookie机制
HTTP协议是无状态的
浏览器每一次请求,服务器都会单独处理,不与之前或之后的请求发生关联,3次请求/响应之间没有任何关系
即使浏览器同时发生3次请求,服务器也会单独处理,服务器并不知道3个请求来自同一个浏览器
服务器想要识别浏览器请求,就必须弄清楚浏览器的请求状态
既然HTTP协议是无状态的,那么就会让服务器与浏览器共同维护一个状态,这就是会话机制
会话机制
1.浏览器第一次请求服务器时,服务器会创建一个会话,并将会话的ID作为响应的一部分发送给浏览器
2.浏览器存储会话ID,并在后续的请求中带上会话ID。服务器取得请求中的会话ID就知道是否为同一个用户
3.如此,后续请求就与第一次请求产生了关联
Cookie机制
服务器在内存中保存会话对象,浏览器使用Cookie机制保存会话ID
Cookie机制是一种会话机制。Cookie是浏览器用来保存少量数据的一种机制,数据以key=value形式储存,浏览器发送HTTP请求时,自动附带cookie信息
Cookie:
是一小段文本信息,伴随用户的请求在浏览器和服务器之间传递
作用:
主要用来做用户认证,可以保存用户的其他一些信息
Cookie属性
Expires属性:代表过期时间,过了此时间,该cookie就失效了;如果不指定失效时间,表示在关闭浏览器后,cookie就会被浏览器删除
Path属性:表示cookie所属的路径
HttpOnly属性:安全方面的属性,设置为HttpOnly后能防止XSS攻击
Cookie分类
会话Cookie:
临时cookie,记录了用户访问站点时的设置和偏好,关闭浏览器后,会话cookie就别删除了
持久Cookie:
存储在硬盘中,无论浏览器退出或重启计算机,都会保存。有过期时间
禁用Cookie
控制面板--->Internet设置--->隐私设置
网站自动登录原理
第一次登录后关闭浏览器
再次登录后流程如下:
1.用户打开浏览器后,输入www.csdn.net
2.浏览器会在硬盘中查找相关csdn.net的Cookie,然后把Cookie放到HTTP请求中,再把请求发生给服务器
3.Web服务器返回博客首页,此时会看到你已经登录了
Cookie和文件缓存的区别
这两个完全不一样,唯一相同的是都存储在硬盘中,而且存在同一个文件夹下
Fiddler之Cookie机制讲解
猜你喜欢
转载自blog.csdn.net/qq_45331873/article/details/105467408
今日推荐
周排行