一、属性介绍

  • 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. 4.JUC之AQS框架

    一.简介 1.AQS AQS是AbstractQueuedSynchronizer的简写,直白的翻译:抽象队列同步器,jdk1.5后出现 Provides a framework for implem ...

  2. 元组和range

    元组 只读列表,不支持增 删 改:但是元组里的列表可以增删改 元组其实就是通过逗号(,)设定的,和小括号并没有什么必然的关系,所以当元组只有一个元素的时候,需要在元素后加个逗号 存储大量数据,有序.不 ...

  3. Image Processing and Computer Vision_Review:A Performance Evaluation of Local Descriptors——2005.08

    翻译 本地描述符的性能评估——http://tongtianta.site/paper/56756 摘要 - 在本文中,我们比较了为局部感兴趣区域计算的描述符的性能,例如,由Harris-Affine ...

  4. windows和linux下的spice客户端使用方法

    1.Linux客户端 安装spice yum install virt-viewer 连接远程虚拟机 #remote-viewer spice://IP:PORTremote-viewer spice ...

  5. 在Linux中安装适用于arm64位的nodejs

    # 安装适用于arm64位的nodejs runtime v10.16.3 mkdir /runtimes cd /runtimes wget https://nodejs.org/dist/v10. ...

  6. java基础(3)---Scanner键盘输入

    1.使用scanner类: import java.util.Scanner; class ScannerTest{ public static void main( String[] args){ ...

  7. 数据库中聚合索引(MySQL和SQL Server区别)

    一.聚集索引和非聚集索引 聚集索引:类似字典的拼音目录.表中的数据按照聚集索引的规则来存储的.就像新华字典.整本字典是按照A-Z的顺序来排列.这也是一个表只能有一个聚集索引的原因.因为这个特点,具体索 ...

  8. idea中Git配置,Git的非命令操作

    1.更换Git账户 在idea中File-->Settings-->Appearance-->System Settings-->Passwords,选择不保存密码(Do no ...

  9. 【图文教程】Vmware Workstation 12虚拟机中安装CentOS 7详细步骤

    文档维护人:牛棚琐思 <viprs@qq.com> ,如有不妥之处,请不吝赐教. 文档目标:帮助新手在Vmware虚拟机软件中安装CentOS 7超详细教程. 目标人群:本篇教程比较简单, ...

  10. Python+request 使用pymysql连接数据库mysql的操作《十》

    使用指南.pymysql支持python2.7同时也支持python3.x.当前我用的是python2.7.所以过断选择了pymysql的使用,这里注意几点.一般我们连接数据库为了安全起见,都会要求按 ...