DOM-cookie

发布时间 2023-04-20 09:28:08作者: 挖洞404

关于cookie:http头部字段cookie – 学习狗

1、js读取cookie

document.cookie
  • 数据类型是string,如果没有cookie字段时,取值为空字符串””
  • 读取的是当前框架所对应的cookie,一般是地址栏url,有时也指iframe。实际上这就是对应假设发送请求到当前框架url携带的cookie内容。
  • 使用=连接cookie项的名称和值,使用; 连接不同cookie项
  • 注意httponly标志和security标志的使用

2、js写入cookie

(1)基本赋值

document.cookie="a=zzz"
document.cookie = "a=aaa; 123" //实际赋值a=aaa
document.cookie = "a=bbb " //实际赋值a=bbb
  • cookie赋值,并不能包括;字符,赋值过程中;及其后的所有字符会无效。类似的还有\n等字符
  • cookie赋值,末尾不能包含空格,会删去。而中间的空格会保留
  • =是可以直接使用

(2)其他属性

document.cookie = "z=世界;expires=Thu, 20-Oct-2023 06:51:46 GMT;domain=127.0.0.1;path=/;secure"
  • js允许设置其他cookie属性,但需要遵循规范和安全特性,超出的话一般是被浏览器禁止设置的
  • domain默认是当前主机名,可设置更高级别的域名,比如主域名abc.com,但是不能设置为其他兄弟域名或者其他域名,比如当前是a.abc.com则不能设置为b.abc.com
  • path默认是当前目录,可设置更高级别的目录,比如根目录/,但是不能设置为其他兄弟目录,比如当前是/a则不能设置为/b
  • 时间默认是会话,设置需要是GMT格式
  • httponly和secure标志默认不会添加,js设置cookie无法添加httponly标志,而secure标志可以添加(即使当前是http协议)

(3)覆盖和删除

对于不存在的cookie名称,即添加cookie

对于存在的cookie名称,则是修改值、path等属性

对于存在的cookie名称,删除即将expires设置过期