- 4KB 左右,多用于存储身份信息。
- 组成:
name=value;:cookie 的 name 与其值,也是请求携带时的样子。expires:GMT 格式的时间,规定 cookie 的过期时间点,默认为浏览器关闭前。max-age:秒级时间段,规定 cookie 的有效时常,优先级高于expires。domain & path: 请求的 URL 为该域名或子域名和该路径或子路径组合时,浏览器会将 cookie 添加到请求头。默认值分别为设置该 cookie 的网页的域名和路径。secure: 开启后,只有当请求符合 HTTPS 或其他安全协议时,才会被浏览器添加至请求头,默认不开启。httpOnly: 是否限制 JS 对 cookie 的访问(读取、修改、删除),默认不开启,另外客户端无法设置一个httpOnly的 cookie,该属性仅能由服务端设置。
- 自动携带:
- XHR:默认不携带,需配置
withCredentials。 - ajax:对 XHR 的封装,支持 JSONP,同源携带,跨域需配置
credentials。 - axios / jQuery:对 ajax 的封装,同源携带,跨域需配置
withCredentials。 - fetch:与 XHR 同级,默认不携带,需配置
credentials。 - 跨域携带 cookie 服务端配置:
Access-Control-Allow-Credentials: true; Access-Control-Allow-Origin: requestDomain / *;
- XHR:默认不携带,需配置