zoukankan      html  css  js  c++  java
  • cookie的路径和域

    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

  • 相关阅读:
    RSA加密
    各种正则
    用Fragment制作的Tab页面产生的UI重叠问题
    Android源码下载
    Android Studio使用百度地图问题总结
    Android获取网络类型
    Android Studio类中实现Serializable自动生成serialVersionUID
    【Android开发】如何设计开发一款Android App
    UIViewController生命周期
    微信支付开发经验分享
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/8952801.html
Copyright © 2011-2022 走看看