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请求中无效

原文地址:https://www.cnblogs.com/yanze/p/6118704.html