面试准备

cookie不可跨域,每个cookie都会绑定单一的域名

图文解析:

 

属性:

  • name、value:键值对,不多说(值最好进行URL编码。有一种说法:cookie规定是名称/值是不允许包含分号,逗号,空格的,考虑服务器的兼容性,任何存储cookie的数据都应该被编码)
  • domain: 域名,没有设置,自动绑定到执行语句的当前域,同一个域名下的二级域名不可以交换使用cookie;
  • path: 默认是'/',匹配的是web的路由; (默认路径 www.baidu.com;‘/blog’路径 www.baidu.com/blog)
  • Expires/Max-age: 有效期;常见两种值:1.session:当关闭浏览器结束会话时,这个cookie会被删除(会话储存);2.一个具体时间:Max-Age以秒为单位。正数时cookie会在Max-Age秒之后删除;负数表示的是临时储存,存在浏览器内存中,浏览器关闭失效;为0时删除cookie;
  • secure: true时,cookie只会在https和ssl等安全协议下传输;
  • HttpOnly: 常考,设置为true,不能通过js脚本来获取cookie的值,能有效的防止xss攻击

 

js操作cookie:

设置:document.cookie='myname=laihuamin;path=/;domain=.baidu.com';

获取:document.cookie

 

服务器设置cookie:

打开控制台,看一个http的请求头和响应头中的东西即可明白:

服务端就是通过setCookie来设置cookie的

原文地址:https://www.cnblogs.com/vs1435/p/13098357.html