cookie
cookie
- 定义: 某些网站为了辨别用户身份而存储在用户本地终端上的数据,类型为小型文本文件。
- 场景: 浏览器会在特定的情况下携带上cookie来发送请求,我们可以通过cookie来获取一些信息。
- 分类:
(1) 内存cookie
i. 定义: 存储在浏览器,由浏览器保存,浏览器关闭就会清除
(2) 硬盘cookie
i. 定义: 存储在硬盘中,有过期时间,时间到期清除或者用户手动清除
(3) Q:如何判断是内存cookie还是硬盘cookie?
A: cookie设置了过期时间,且过期时间不为0或者负数,那么就是硬盘cookie
备注: 主要由服务器端生成并设置在客户端(并不是我们手动设置),客户端也主动可以设置,比较少。
通过响应头(response header)中的set-cookie自动设置到客户端
设置后同一服务器的请求会自动在请求头 (request header)中携带cookie
常用属性
domain
(1) 定义: 指定哪些主机可以接收cookie
(2) 默认值: origin,不包括子域名path
(1) 定义: 指定主机下的那些路径可以接收cookie
(2) 使用: 如果设置 /docs, 那么 /docs/a , /docs/b 都可以接收max-age
(1) 定义:设置过期时间
客户端(JS)操作cookie
- document.cookie
使用: 不能获取服务器设置的cookie,可以设置或者获取js设置的cookie
cookie缺点
- 浪费客户流量,每次相同域名下的请求都会自动携带cookie
- cookie明文传输Headers,存在一定安全风险
- 大小限制为4KB
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!