cookie总结

233 阅读1分钟

需要cookie的原因

http没有保存状态,对每一个请求无法判定是否是用户已经登录或者是还没登录,需要引入一种机制,记录用户的登录状态和保存用户的登录信息;引入cookie之后,请求里会带上cookie。

cookie的传递过程

浏览器第一次访问服务器的时候,服务器在响应请求里带上cookie;之后的浏览器请求服务器都会带上这个cookie

cookie的属性

name

这个是cookie的名字,一个域名下面不能有相同名字的cookie

value

这个属性存放cookie的值;这个值要经过编码; 由于cookie规定是名称/值是不允许包含分号,逗号,空格的,所以为了不给用户带来麻烦,考虑服务器的兼容性,任何存储cookie的数据都应该被编码。

domain

指定cookie绑定的域名;

path

指定cookie匹配的web路由;

cookie的有效期

expires

max-age

  1. max-age以秒作为单位
  2. 当max-age>0的时候,cookie会在max-age之后被删除;
  3. 当max-age=0的时候,删除cookie;
  4. 当max-age<0的时候,表示临时存储,不会生出cookie文件;

secure

设置cookie只在https和ssl下传输;

httpOnly

不能通过js脚本来获取cookie的值;

如何操作cookie

浏览器端操作

let cookie = document.cookie;

document.cookie = ''

服务器端

设置http头setCookie

未完待续