一、属性介绍

  • 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 概述的更多相关文章

  1. ASP.NET Cookie 概述【转】

    来源:http://msdn.microsoft.com/zh-cn/library/ms178194(VS.80).aspx ASP.NET Cookie 概述 Cookie 提供了一种在 Web ...

  2. Java:HttpClient篇,Cookie概述,及其在HttpClient4.2中的应用

    1. Cookie 概述 Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取 ...

  3. ASP.NET Cookie 概述

    什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息. 例如,如果在用 ...

  4. Cookie概述与应用

    一.概述 Cookie是Web服务器保存在客户端的一系列文本信息 典型应用一:判断注册用户是否已经登录网站. 典型应用二:"购物车"的处理. Cookie的作用:     对特定对 ...

  5. Cookie概述

    一.什么叫Cookie? Cookie翻译成中文是小甜点,小饼干,在Http中它表示服务器送给客户端浏览器的小甜点.其实Cookie就是一个键和一个值构成,随着服务器端的响应发送给客户端浏览器,然后客 ...

  6. 本地存储之cookie

    cookie概述: Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 (此种 Cookies 称作 Session Cookies), 一旦用户从该 ...

  7. javascrip中cookie的使用详细分析

    JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由J ...

  8. 细说Cookie

    阅读目录 开始 Cookie 概述 Cookie的写.读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Session中的应用 Cookie在身份验证中的应用 Cookie的 ...

  9. js中cookie的使用详细分析

    JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由J ...

随机推荐

  1. 记录java+testng运行selenium(四)--- 结构说明

    一图:主要是driver文件所在目录,及ini配置文件所在位置. 这两个文件一般我是放在其它目录下,不跟随项目所在目录 二图:用例操作类及用例执行类所在位置. 下图中有接口代码及功能代码组成,之前的文 ...

  2. HTML基础之HTML常用标签

    下面小编为大家整理一些HTML的常用标签 a.布局标签 div标签定义文档中的分区或节(division/section),可以把文档分割为独立的.不同的部分,主要用于布局. aside标签的内容可用 ...

  3. Nginx练习练习玩玩

    Date:2019-11-9 读前思考: 对于NGINX,一般会问什么? 面试官会从哪方面入手? 面试官到底想考察什么? 你做好准备了吗? 如果对于初学者,往往可以通过面试题来提升对某一个技术的了解和 ...

  4. Android加载大图到内存如何避免内存溢出?

    加载大图怎么避免溢出实际做法就是对图像进行压缩,也是比较老的话题了,在最初做android时是经常会遇到的问题,而如今对于图片加载这一块都已经有很成熟稳定的三方库来弄它了,所以图片加载过大内存溢出的比 ...

  5. 【PAT-一道看着很难的水题】L2-023. 图着色问题

    水题!没其他想说的,还以为可以搞点高大上的搜索呢!十五分钟,暴力两重循环就OK了! 代码如下: #include<iostream> #include<stdio.h> #in ...

  6. 详细讲解vue.js里的父子组件通信(props和$emit)

    在进入这个话题之前,首先我们先来想一下在vue里,如何写一个父子组件.为了简单起见,下面的代码我都没用脚手架来构建项目,直接在html文件里引入vue.js来作为例子.父子组件的写法如下: <d ...

  7. 【CRT】中国剩余定理简介

    中国剩余定理(CRT) 中国剩余定理出自中国的某本古书,似乎是孙子兵法?(雾 其中有这样一个问题: 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何? 即,对于这样一个方程组: \[ ...

  8. 【bzoj3238】差异 后缀树

    题目大意:给你一个字符串$S$,设$S_i$是串$S$第$i$长的后缀,求: $\sum\limits_{i=1}^{|S|} \sum\limits_{j=i+1}^{|S|} |S_i|+|S_j ...

  9. ***PHP preg_match正则表达式的使用 转载:https://www.cnblogs.com/kenshinobiy/p/4443600.html

    第一,让我们看看两个特别的字符:‘^’和‘$’他们是分别用来匹配字符串的开始和结束,以下分别举例说明 : "^The": 匹配以 "The"开头的字符串; &q ...

  10. java线程中yield(),sleep(),wait()区别详解

    1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...