Cookie 概述
一、属性介绍

Name
Cookie的key
Value
Cookie的value
Domain
可以访问此Cookie的域名
Path
可以访问此Cookie的页面路径
Expires/Max-Age
Cookie的生命期,不设置默认值是一次会话,浏览器进程关闭后,此Cookie失效
Size
此Cookie大小
HTTP
设置HttpOnly为true,则只有在http请求头中会带有此Cookie的信息,不能通过Document.cookie来访问此Cookie信息,防止XSS攻击
Secure
是否只能通过HTTPS协议来与WEB服务器之间传递此条Cookie数据
SameSite
用于定义Cookie如何跨域发送,用于阻止CSRF攻击,有两个属性Strict和Lax
详细介绍
二、跨域问题
1.Domain和Path的默认值

Domain默认html文件所在的域名,Path默认为html文件所在的路径
2.Domain设置规则
- 设置—js设置domain要符合域名的规则,可设置成 baidu.com,但是不能设置成baidu。不可以把cookie设置成不同于html域名的domian。会设置不成功。但不会影响后面程序对cookie的操作。如果domain设置错误,该cookie将不会被创建,并且后续对cookie的操作都会被浏览器禁止。js手动设置cookie的domain都是以.开头的。比如设置成 baidu.com,实际为 .baidu.com,删除cookie时可不加.
- 获取—js只能获取domian大于等于当前页面域名的cookie。如 www.baidu.com/testCookie.html 页面中的js能获取domain为 www.baidu.com 和 .www.baidu.com 和 .baidu.com,获取不到 news.baidu.com 中的cookie
- 删除—domain值必须跟要删除cookie的domain相同
3.Path设置规则
- 设置—js设置path要以”/”开头,如html路径为”/blog/20160623/”,路径可以设置成”/”或”/blog”, 如果path不是以”/”开头,则创建cookie的path会使用默认path;如果是以”/”开头,但是设置错误,路径名不存在或者直接设置成子路径。比如设置成”/20160623”,该cookie不会被创建,并且后续对cookie的操作不论正确与否都会被浏览器禁止
- 获取—js只能获取path大于等于当前页面path的cookie,如html路径为/blog/20160623/,使用js只能获取/blog/20160623/和/blog和/路径下的cookie
- 删除—js删除cookie时路径必须相同
页面能访问那些Cookie和从哪里引入js没有关系,跟Html文件所在的domain和path有关系。Cookie只能跨二级域名来访问,不能跨一级域名来访问。js删除一个cookie,domain和路径必须完全相同。
三、小实例
1.同域情况
| name | domain | path |
|---|---|---|
| a | a.baidu.com | / |
| b | a.baidu.com | /tmp |
| c | a.baidu.com | /abc |
| d | a.baidu.com | /abc/def |
/下的页面只能访问a
/tmp下的页面可以访问a,b
/abc下的页面可以访问a,c
/abc/def下的页面可以访问a,c,d
2.不同域情况
| name | domain | path |
|---|---|---|
| a | a.baidu.com | / |
| b | b.baidu.com | /tmp |
| c | c.baidu.com | /abc |
| d | d.baidu.com | /abc/def |
a,b,c,d不能同时被访问,指定域下的路径中的网页才能访问对应的Cookie
想要同时被访问就需要把domain修改为一级域 baidu.com,之后的规则就是同域情况了
Cookie 概述的更多相关文章
- ASP.NET Cookie 概述【转】
来源:http://msdn.microsoft.com/zh-cn/library/ms178194(VS.80).aspx ASP.NET Cookie 概述 Cookie 提供了一种在 Web ...
- Java:HttpClient篇,Cookie概述,及其在HttpClient4.2中的应用
1. Cookie 概述 Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取 ...
- ASP.NET Cookie 概述
什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息. 例如,如果在用 ...
- Cookie概述与应用
一.概述 Cookie是Web服务器保存在客户端的一系列文本信息 典型应用一:判断注册用户是否已经登录网站. 典型应用二:"购物车"的处理. Cookie的作用: 对特定对 ...
- Cookie概述
一.什么叫Cookie? Cookie翻译成中文是小甜点,小饼干,在Http中它表示服务器送给客户端浏览器的小甜点.其实Cookie就是一个键和一个值构成,随着服务器端的响应发送给客户端浏览器,然后客 ...
- 本地存储之cookie
cookie概述: Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 (此种 Cookies 称作 Session Cookies), 一旦用户从该 ...
- javascrip中cookie的使用详细分析
JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由J ...
- 细说Cookie
阅读目录 开始 Cookie 概述 Cookie的写.读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Session中的应用 Cookie在身份验证中的应用 Cookie的 ...
- js中cookie的使用详细分析
JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由J ...
随机推荐
- ajax+jquery上传图片
利用ajax进行图片上传,啥也不说了,上代码~ <input type="file" id="uploadImg"> <span oncli ...
- 直接插入排序算法(java)
直接插入排序是将未排序的数据插入至已排好序序列的合适位置. 具体流程如下: 1.首先比较数组的前两个数据,并排序: 2.比较第三个元素与前两个排好序的数据,并将第三个元素放入适当的位置: 3.比较第四 ...
- Linux动态连接器
转自:Chapter 9. Dynamic Linking 参考:Linux动态链接器 Linux加载启动可执行程序的过程(一)内核空间加载ELF的过程 Linux加载启动可执行程序的过程(二)解释器 ...
- C#一些不太熟悉的类——扩展学习
Process.CloseMainWindow Method 通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程. 注解 进程执行时,其消息循环处于等待状态. 每次操作系统将 Windows 消息 ...
- vue 监听子组件事件及组件上使用v-model
- JS获取当前年份月
//获取完整的日期 var date=new Date; var year=date.getFullYear(); var month=date.getMonth()+1; month =(mont ...
- 如何使用python内置的request发送JSON格式的数据
使用步骤如下: 一.如果想发送json格式的数据,需要使用request模块中的Request类来创建对象,作为urlopen函数的参数 二.header中添加content-type为applica ...
- XML建模实列
XML建模 建模的由来: 就是将指定的xml字符串当作对象来操作 好处在于,只需要调用指定的方法就可以完成预定的字符串获取: 建模的一个思路: 1.分析需要被建模的文件中有那几个对 ...
- java 设计模式 --委派模式
委派模式(Delegate)原理: 类B和类A是两个互相没有任何关系的类,但是B具有和A一模一样的方法和属性:并且调用B中的方法/属性就是调用A中同名的方法和属性. B好像就是一个受A授权委托的中介, ...
- jq 字符串转数组
一般我们在添加关键词时 会添加几组关键词 上传时怎么取值呢 取值时用以下格式 就能取到值 var FTag = "" //AAA,BBB if (FTag1 != &qu ...