• 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

  • 相关阅读:
    django media配置
    django model项目外操作
    django 快捷代码提示
    django静态文件路径配置
    selenium爬取网易云
    selenium
    pyquery
    beautifulsoup
    Kafka与.net core(三)kafka操作
    Oracle 日期类型timestamp(时间戳)和date类型使用
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/8952801.html
Copyright © 2020-2023  润新知