Cookie小解2
Cookie最早用来标识和认证一个用户,其处理分为以下几步:
1.服务端向客户端发送Cookie
2.浏览器将Cookie保存
3.之后每次浏览器服务服务器时都会将Cookie发向服务器端
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Cookie实例: name=value; Path=/; Expires=Sun, 23-Apr-23 09:01:35 GMT; Domain=.domain.com;
Cookie主要有几个选项:
Path为Cookie在服务器端所在的目录,默认为/,就是根目录,假设同一个服务器先有目录如下: /test/,/test/cd/,/test/dd/,现在设置cookie1的path为/test/, cookie2的path为/test/cd/,
那么test下所有页面都能访问cookie1, 而只有/test/cd/下的页面能访问cookie2
Domain为Cookie所在的域,默认为请求的地址内的域名,假设网址为www.jb51.net/test/a.html,那么domain默认为www.jb51.net,
若跨域服务,如域A为t1.test.com,域B为t2.test.com,那么要生成一个两边都能访问的Cookie就得设置为.test.com,
若要在域A生成一个A不能访问而B能访问的Cookie则得将其设为t2.test.com;
Expires为Cookie过期时间,为一UTC格式的时间字符串,不设置时会在浏览器关闭时清除,一般没问题,但当服务器与客户端时间不匹配时会存在偏差
Max-Age为Cookie保存时间,为解决偏差现象作为expires的替代方案提出,单位为秒;
HttpOnly告知浏览器不允许通过document.cookie区更改Cookie,但设置为true时,这个Cookie便在document.cookie中不可见,但发生HTTP请求时,依旧会将此Cookie发送给服务器;
Secure 当其值为true时,只在HTTPS中有效,HTTP请求中无效