Cookie 的属性-1与Cookie的属性-2
Cookie 的属性-1
Cookie的名称(Name)和值(Value)
最重要的两个属性,创建Cookie时必须填写,其它属性可以使用默认值
Cookie的名称或值如果包含非英文字母,则写入时需要使用encodeURlComponent 编码,读取使用哪个decodeURIComponent()解码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cookie的属性</title> </head> <body> <script> document.cookie ='username =${encodeURIComponent(\'张三\')};' document.cookie ='${encodeURIComponent(\'用户名\')} =${encodeURIComponent(\'张三\')}'; </script> </body> </html>
一般名称使用英文字母,不要用中文,值可以用中文,但是要编码
失效(到期)时间
对于失效的Cookie,会被浏览器清除
如果没有设置失效(到期)时间,这样的Cookie 称为会话Cookie
它存在内存中,当会话结束,也就是浏览器关闭时,Cookie消失
想长时间存在,设置Expires或Max-Age;
expires
值为Date类型
document.cookie=`username=Alex; expires=${new Date( '2100-1-01 00:00:00' )}`;
Max-age
值为数字,表示当前时间+多少秒过期,单位是秒
document.cookie ='username=lyw max-age=5';
document.cookie='username=lyw; max-age=${24*3600*30}';
如果max-age 的值是0或负数,则Cookie会被删除
document.cookie='username = alex'; document.cookie='username = alex max-age=0'; document.cookie='username = alex max-age=-1';
Domain 域
Path路径
HttpOnly
Secure
Cookie的属性-2
Cookie的名称(Name)和值(Value)
失效(到期)时间
Domain 域
Domain限定了访问Cookie的范围(不同域名)
使用js只能读写当前域或父域的Cookie,无法读写其他的Cookie
document.cookie='username = lyw; domain=www.imooc.com'
https://www.imooc.com/ m.imooc.com/ 当前域
父域:.imooc.com
Path路径
Path限定了访问Cookie的范围(同一个域名下)
使用js只能读写当前路径和上级路径的Cookie,无法读写下级路径的Cookie
document.cookie='username=lyw; path=/course/list/a'
document.cookie='username=lyw; path=/HTTP/templates/3.html'
当Name、Domain、Path、这个字段都相同的时候,才是同一个Cookie
HttpOnly
Secure
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)