前沿:cookie和storage的区别就不用说了啊。对cookie可以参考这里1这里2
- cookie存储数据和url关系
setcookie(name,value,expire,path,domain,secure)
参数 | 是否必填 | 默认值 | 作用 |
---|
name | 是 | 无 | cookie 的名称。 | value | 是 | 无 | cookie 的值。 | expire | 否 | 默认为关闭浏览器Cookies生命周期到期 | cookie 的有效期。 | path | 否 | 默认值为设置该cookie的网页所在的目录 | 规定 cookie 的服务器路径。 | domain | 否 | 默认值为设置该cookie的网页所在的域名 | cookie 的域名。 | secure | 否 | 空(不加密) | 规定是否通过安全的 HTTPS 连接来传输 cookie。 | httponly | 是 | 空(js允许访问) | 只能通过http协议才能访问该cookie,意味着客户端javascript就不可操作这个cookie。 |
URL | domain | path | 是否允许 |
---|
http://www.a.com/a http://www.a.com/a.js http://www.a.com/b http://qiji.a.com/a.js | a.com | / | 允许 | http://qiji.a.com/a http://qiji2.a.com/a | qiji.a.com | / | 不允许 | http://qiji.a.com/a http://qiji.a.com/b | qiji.a.com | / | 允许 | http://qiji.a.com/a http://qiji.a.com/a/b | qiji.a.com | /a | 允许 | | | | |
- 总结:页面能访问那些cookie跟从哪里引入js没有半毛钱关系。而跟html页面本身的domain和path有很直接的关系
- ??:要删除一个cookie,domain和路径必须完全相同
- storage存储数据和url管理
- 概念
localStorage(这里)和 sessionStorage的主要区别是:localStorage的生命周期是永久的,意思就是如果不主动清除,存储的数据将一直被保存。而sessionStorage顾名思义是针对一个session的数据存储,生命周期为当前窗口,一旦窗口关闭,那么存储的数据将被清空。 - 语法
window.localStorage
localStorage.setItem("key", "value");
var lastname = localStorage.getItem("key")
localStorage.removeItem("key");
- ??:localStorage在浏览器的隐私模式下面是不可读取的
- localStorage浏览器的同源策略具体如下:
URL | 说明 | 是否允许通信 |
---|
http://www.a.com/a.js http://www.a.com/b.js | 同一域名下 允许 | 允许 | http://www.a.com/lab/a.js http://www.a.com/script/b.js | 同一域名下不同文件夹 | 允许 | http://www.a.com:8000/a.js http://www.a.com/b.js | 同一域名,不同端口 | 不允许 | http://www.a.com/a.js https://www.a.com/b.js | 同一域名,不同协议 | 不允许 | http://www.a.com/a.js http://70.32.92.74/b.js | 域名和域名对应ip | 不允许 | http://www.a.com/a.js http://script.a.com/b.js | 主域相同,子域不同 | 不允许 | http://www.a.com/a.js http://file.a.com/b.js | 同一域名,不同二级域名(同上 | 不允许(cookie这种情况下也不允许访问) | http://www.cnblogs.com/a.js http://www.a.com/b.js | 不同域名 | 不允许 |
总结:只要不同源就不能共享localStorage的数据
- sessionStorage浏览器的同源策略具体如下:
不同页面间无法共享sessionStorage的信息。这里需要注意的是,页面仅指顶级窗口,如果一个页面包含多个iframe且他们属于同源页面,那么他们之间是可以共享sessionStorage的
|