1.Cookie的路径介绍

我们知道Cookie 的属性有很多,其中有一个属性是路径path。有些人认为Cookie 的路径指的是Cookie 在客户端的保存路径,其实并不是。Cookie 的路径是相对于域domain的地址。

Cookie 的路径是在服务器创建Cookie 时设置的,它的作用是决定浏览器访问服务器的某个资源时,需要将浏览器端保存的那些Cookie 归还给服务器。

图中,浏览器端保存的Cookie 有三个,分别是Cookie1、Cookie2 和Cookie3。它们三个的访问路径分别为:“/Example/cookie“、”/Example/“、”Example1/cookie“。浏览器访问服务器端的路径为:”
http://localhost:8080/Example/cookie/a/index.jsp“。也就是说index.jsp 页面的访问路径为:”/Example/cookie/a/
“,该路径包含了Cookie1 和Cookie2 的路径,因此在访问index.jsp 时,浏览器会将Cookie1 和Cookie2
发送给服务器。这就是Cookie 的路径的作用,其中涉及到访问路径。
如果服务器创建Cookie 时没有设置路径,那么该Cookie 的路径是当前资源的访问路径。例如:在
index.jsp 页面中创建了一个Cookie,index.jsp 页面的访问路径为“/Example/“,那么该Cookie 的路径就
是”/Example/“。如果服务器创建Cookie 时设置了路径,那么Cookie 的路径就是设置的路径,例如:
cookie.setPath(“/Example/cookie”),那么该Cookie 的路径就是”/Example/cookie“。

需要注意的是,大家不要将包含的关系弄混淆了,是访问路径包含cookie 的路径。例如,浏览器中保
存如下几个cookie,它们的路径分别是:
aCookie.path=/Example20/;bCookie.path=/Example20/jsps/;cCookie.path=/Example20/jsps/cookie
 访问路径是:http://localhost:8080/Example20/index.jsp
浏览器发送给服务器的cookie 有:aCookie;
 访问路径是:http://localhost:8080/Example20/jsps/a.jsp
浏览器发送给服务器的cookie 有:aCookie,bCookie;
 访问路径是:http://localhost:8080/Example20/jsps/cookie/b.jsp

浏览器发送给服务器的cookie 有:aCookie,bCookie,cCookie。

2. Cookie 的域
Cookie 还有一个属性就是域,Cookie 类中有设置和获取cookie 域的方法,如下所示:
 Void setDomain(String pattern):设置cookie 的域;
 String getDomain():获取cookie 的域,返回值的类型是String 类型。
其中Domain 单词就有域名的意思。一般我们很少使用cookie 的域,只有在多个二级域共享Cookie
时才用。例如:www.baidu.com、zhidao.baidu.com、news.baidu.com、tieba.baidu.com 这些域可以理解是百
度的子项目,现在要在这些域中共享cookie,就需要使用cookie 的域,使用时需要注意以下两点:
 设置domain 为:setDomain(".baidu.com”);
 设置path 为:setPath(“/”)。

默认cookie的域是当前域名,默认cookie的路径是当前页面的目录路径。如果想要跨域或者在其他的路径下访问cookie就必须要重新设置这两个属性,domain和path。

www.baidu.com/content/example/3.jsp      则域domain为www.baidu.com, 路径path为/content/example

转载于:https://www.cnblogs.com/xiangkejin/p/8952801.html

cookie的路径和域相关推荐

  1. Cookie的路径设置(很重要)

    1.浏览器管理Cookie步骤 2.Cookie的路径 该路径可通过setPath("/xxx")进行设置,这个路径直接决定服务器的请求是否会从浏览器中加载某些Cookie. 首先 ...

  2. 前端把cookie写在父域里_单点登录的三种实现方式

    前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的.当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保 ...

  3. java cookie p3p_P3P解决cookie存取的跨域问题

    最近在做一个流量统计的东西的时候,偶然发现IE在对iframe里面的页面写Cookie的时候有一些安全限制,导致读取Cookie不成功,找了好长时间的解决办法,重要找到如下的办法: 1.页面里的COO ...

  4. java cookie p3p_P3P script src 解决cookie存取的跨域问题 java 终极解决办法

    最近在做一个项目,我的网站是www.a.com,但是需要取到www.b.com网站的cookie,折腾了很久,在同事的合作下.总算搞定了. 我是用java做的, 首先在www.a.com/a.vm文件 ...

  5. java跨域cookie共享_cookie跨域共享 - qijian0503的个人空间 - OSCHINA - 中文开源技术交流社区...

    问题描述 需要解决前端pc跟服务端(java),跨域后都能获取到同一个cookie. 使用二级域名共享cookie有一个限制条件,就是两个域名的二级域名必须相同 前端pc访问域名:a.b.com 后端 ...

  6. ajax获取php cookie,Ajax 无法跨域获取 cookie

    前端代码如下 x.withCredentials =true x.open('GET', 'http://www.example.com/xxx'); x.setRequestHeader(" ...

  7. P3P解决cookie存取的跨域问题

    在一次公司网站与第三方网站合作过程中,发生了一个变态的问题.就是对方网站采用iframe的方式嵌入我们网站的程序,此时我们网站需要有一些 Cookie 设置到浏览器上(比如:jsessionid,没有 ...

  8. [JavaEE笔记]Cookie

    引言 由于 Http 是一种无状态的协议,服务器单从网络连接上无从知道客户身份. 会话跟踪是 Web 程序中常用的技术,用来跟踪用户的整个会话.常用会话跟踪技术是 Cookie 与 Session. ...

  9. Servlet Cookie处理

    Servlet Cookie处理 Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. ...

最新文章

  1. ATT汇编语言与GCC内嵌汇编简介
  2. java web每天定时执行任务(四步轻松搞定)
  3. 全排列 leetcode java_LeetCode--046--全排列(java)
  4. T1330 最少步数(#Ⅱ- 8)(广度优先搜索)
  5. jQuery-基本选择器的种类
  6. 数组中两个数的最大异或值 两数异或值一定小于两数相加和
  7. Android 自己定义View须要重写ondraw()等方法
  8. anaconda安装scrapy_Scrapy框架的安装
  9. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...
  10. cmake 构建路径_新手必备:win10 系统下 VSCode+CMake+Clang+GCC 环境的搭建
  11. 【英语学习】【Level 07】U05 Best Destination L2 The City of Lights
  12. matlab 局部图放大或缩小
  13. Android 系统(260)---Android 读取SIM卡参数
  14. Synchronized 锁升级机制
  15. xcode 不值钱的动画UIButton
  16. 调用webservice,解析返回数据为xml格式的字符串,进行数据绑定
  17. flume+kafka+storm+hdfs整合
  18. 数据结构——第十章 排序
  19. C# winform中使窗体最小化(NotifyIcon)
  20. ocr初始化失败怎么办_应用程序正常初始化失败

热门文章

  1. linunx获取命令帮助
  2. 说说Request.Params[key]和Request[key]
  3. Android下载图片路径问题
  4. JavaScript基础JavaScript的常用编码惯例(007)
  5. FPGA优化之高扇出
  6. linux java 替换jre_Linux系统 无需JRE配置Java
  7. python2和python3同时存在如何使用pip
  8. 解决通过vue-router打开tab页,下次进入还是上次history缓存的界面状态的问题
  9. AltiumDesigner PCB导入CAD
  10. Linux之因BASH造成的键盘错误和环境问题