Cookie
1.1 cookie的domain属性
domain: 表示 "域"。若不指定则默认为创建 Cookie的服务器的域名.
分为子域和父域,子域可以访问"本级域名"及"父级域名"下的cookie。
请求 c.com 服务器响应回一个cookie的domain属性为 c.com,
那么接下来浏览器请求
a.c.com 服务器
b.c.com 服务器
a.b.c.com 服务器
,浏览器都会携带上这个cookie。
同理 浏览器访问 a.b.c.com,服务器响应一个cookie的domain属性为c.com
如果浏览器接着再访问 b.c.com 或者 c.com 同样这个cookie会被携带上
1.2 cookie的httpOnly属性
如果设置为true的话,会使得 JavaScript 脚本无法访问此 Cookie。
(即document.cookie)
其主要目的是为了防止跨站脚本攻击XSS(Cross Site Script)对cookie信息的窃取。
1.3 cookie的Secure属性
限制仅在https协议下才能发送此cookie
如果设置了Secure=true
那么这个cookie只能用https协议发送给服务器,用http协议是不发送的
1.4 cookie的expires属性
发送 Cookie 的有效期 (若不明确指定则默认为浏览器关闭前为止)
1.5 cookie的path属性
1. 访问 http://localhost:8080/login 进入用户登录的 login.html
2. 填写完 用户 密码 调用 form表单提交数据到 后台 http://localhost:8080/userLogin 接口
4. 服务器响应回 名为userLogin_cookie 的cookie (path 值为 '/userLogin') 和名为 JSESSIONID的cookie ,并且进入 Index.html界面
4.在index界面调用 http://localhost:8080/info 接口 --> 浏览器请求携带的cookie仅为 JSESSIONID
调用 http://localhost:8080/userLogin/info
-->浏览器请求 携带的cookie 为 JSESSIONID 和 userLogin_cookie
5.可见cookie的path路径设置的是 请求服务器上下文路径匹配 path 为 '/userLogin'
cookie 只能在 '/userLogin' 的子路径 请求中携带
/userLogin/info --> 携带 userLogin_cookie
/userLogin/info/test -->携带 userLogin_cookie