需要cookie的原因
http没有保存状态,对每一个请求无法判定是否是用户已经登录或者是还没登录,需要引入一种机制,记录用户的登录状态和保存用户的登录信息;引入cookie之后,请求里会带上cookie。
cookie的传递过程
浏览器第一次访问服务器的时候,服务器在响应请求里带上cookie;之后的浏览器请求服务器都会带上这个cookie
cookie的属性
name
这个是cookie的名字,一个域名下面不能有相同名字的cookie
value
这个属性存放cookie的值;这个值要经过编码; 由于cookie规定是名称/值是不允许包含分号,逗号,空格的,所以为了不给用户带来麻烦,考虑服务器的兼容性,任何存储cookie的数据都应该被编码。
domain
指定cookie绑定的域名;
path
指定cookie匹配的web路由;
cookie的有效期
expires
max-age
- max-age以秒作为单位
- 当max-age>0的时候,cookie会在max-age之后被删除;
- 当max-age=0的时候,删除cookie;
- 当max-age<0的时候,表示临时存储,不会生出cookie文件;
secure
设置cookie只在https和ssl下传输;
httpOnly
不能通过js脚本来获取cookie的值;
如何操作cookie
浏览器端操作
let cookie = document.cookie;
document.cookie = ''
服务器端
设置http头setCookie
未完待续