一:准备工作:

位置:

  • htdocs

    • a目录:

      • sessiona.php
    • b目录
      • sessionb.php
    • c目录
      • sessionc.php

------

sessiona.php

 <?php

 session_start();
$_SESSION["test"] = "this is a"; ?>

-------

sessionb.php

 <?php

 session_start();
$_SESSION["test"] = "this is b"; ?>

--------

sessionc.php

 <?php

 session_start();
$_SESSION["test"] = "this is c"; ?>

-----

a,b,c 目录分别设置了 网址. www.a.com  , www.b.com , www.c.com

-------

二:访问:

2-1: localhost方式访问:

1. 访问 localhost/a/sessiona.php

2.访问 localhost/b/sessionb.php

3.访问localhost/c/sessionc.php

4. 查看客户端 cookie:

结论:

上面域名都是 localhost , 虽然在 不同的目录 下 设置 session变量. 但是 只有一个session文件.

可见,同一个domain 下 的所有session 都保存在 一个文件中, 不能你在那个脚本中设置session

同名的session会不断更新,  $_SESSION["test"]  的值 从 this is a --> this is b  --->this is c.

补充: 上面说的不完整. 应该是如果 用同一个 浏览器(具体某个人的电脑上的某个浏览器) 访问一个域名, 那么这个域名下 所有 的 session变量(这个域名下不同脚本设置的session变量) 都会

储存在一个session文件中.

   session是区分浏览器(这个指得是不只是浏览器品牌.) ,

   例如有浏览器 : 360 ,搜狗.

   不是说网站下 只有两个session文件 ,

而是说 小明的电脑上 有 360 ,搜狗;   小花的电脑上有 360 ; 那么小明分别用 360 ,搜狗访问网站 ,小花 用 360 访问网站, 那么 网站的服务器中就会有三个 session文件.

2-2: 不同域名的访问:

清空原来的所有的session存储文件:

1. 访问www.a.com/sessiona.php

session:

----

cookie:

2. 访问 www.b.com/sessionb.php

---

session:

服务器端多了一个 存储 www.b.com 中的所有session的文件.

----

cookie:

当前  www.b.com 只有一个cookie .  名字是 PHPSESSID

-----

3.访问   www.c.com/sessionc.php

--

session:

服务器端 又多了一个 session文件.

---

cookie:

----

结论:同样的代码只是 访问的url不同 ,产生的session也就不同.

上面我们用了三个域名访问,  在服务器端 就生成了 三个文件 ,分别保存 这三个 域名下的 所有 session.

---

上面 是域名完全不同.

现在测试一下 二级域名相同, 三级域名不同的情况.

  • htdocs

    • a目录

      • sessiona.php
    • a1目录
      • sessiona1.php

a目录 :  www.a.com

a1目录: a1.a.com

------

sessiona.php

 <?php

 session_start();
$_SESSION["test"] = "this is a"; ?>

--------------

sessiona1.php

 <?php

 session_start();
$_SESSION["test"] = "this is a1"; ?>

----------

1:访问:  www.a.com/sessiona.php

----------

2. 访问 a1.a.com

-------------

可见, 服务器端总共有两个 session文件.    www.a.com 和  a1.a.com 是不同的 domain.

可见 ,域名是从三级域名算起的, 如果二级域名相同,三级域名不同, 那么就算作是不同的主机.

php session (二): 同样的代码 ,不同域名访问 对session存储的影响.的更多相关文章

  1. JavaWeb(二)会话管理之细说cookie与session

    前言 前面花了几篇博客介绍了Servlet,讲的非常的详细.这一篇给大家介绍一下cookie和session. 一.会话概述 1.1.什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接, ...

  2. asp.net 配置二级域名的共享session,并实现sso单点登录

    公司最近做了一个新网站.原先网站的网址是www.xxxx.com.新做的网站要部署到info.xxxx.com.这两个网站要实现单点登录.而新老网站本身机构的原因,对于登录状态的判断,说白了就是对于s ...

  3. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  4. TFS API:二、TFS 代码查询工作项

    TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...

  5. asp.net C#生成和解析二维码代码

    类库文件我们在文件最后面下载 [ThoughtWorks.QRCode.dll 就是类库] 使用时需要增加: using ThoughtWorks.QRCode.Codec;using Thought ...

  6. php session学习笔记(实例代码)

    http  无状态协议 一个服务器向客户端发送消息的时候有三条信息 一是状态二是头信息三是内容 会话控制 让一个用户访问每个页面,服务器都知道是哪个用户访问 cookie cookie是通过头信息发送 ...

  7. Asp.net Mvc 自定义Session (二)

    在 Asp.net Mvc 自定义Session (一)中我们把数据缓存工具类写好了,今天在我们在这篇把 剩下的自定义Session写完 首先还请大家跟着我的思路一步步的来实现,既然我们要自定义Ses ...

  8. Session for Tornado(Redis) - 代码分享

    Session for Tornado(Redis) - 代码分享   Session for Tornado(Redis) session id的生成借用了web.py. 使用了 redis 的 h ...

  9. Re:从零开始的Spring Session(二)

    上一篇文章介绍了一些Session和Cookie的基础知识,这篇文章开始正式介绍Spring Session是如何对传统的Session进行改造的.官网这么介绍Spring Session: Spri ...

随机推荐

  1. 走起 ~私有gitlab

    1.创建gitlab 账号,创建一个项目名称  地址:http://git.limikeji.com 2.配置git环境 用git命令上传代码 3.配置gitlab ssh 4.使用git命令上传代码 ...

  2. 04 爬虫数据存储之Mongodb

    MongoDB 认识MongoDB MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  3. Leetcode 970. 强整数

    970. 强整数  显示英文描述 我的提交返回竞赛   用户通过次数223 用户尝试次数258 通过次数231 提交次数801 题目难度Easy 给定两个正整数 x 和 y,如果某一整数等于 x^i ...

  4. 函数使用七:AUTHORITY_CHECK_RFC

    此函数是用来检查用户使用RFC函数的权限 感觉是个废物,从来没遇到过这么蛋疼的权限设置,以及这么挫的检查... Import USERID                      执行RFC函数的用 ...

  5. Div和Span

    Div ——层级元素,这一行不允许有其他元素(用来布局) Span ——用来修饰文本

  6. python中bottle模块的使用

    1.简介 2.示例 2.1一个简单的bottle接口 # -*- coding: utf-8 -*- from bottle import route, request, run import jso ...

  7. C++类型检查

    与大多数语言一样,C++也是类型决定了能对该对象进行的操作,一条表达式是否合法依赖于其中参与运算的对象的类型,C++是一种静态数据类型语言,它的类型检查发生在编译时, 因此编译器知道程序中每一个变量对 ...

  8. Oracle12c中容错&amp;性能新特性之表空间组

    1.        简介 表空间组可以使用户消耗来自多个表空间的临时表空间.表空间组有如下特点: 1)      至少包含一个表空间.表空间组中包含的最大表空间数没有限制. 2)      和表空间共 ...

  9. oracle 11g创建数据库教程

    cd /oracle/app/oracle/product//dbhome_1/bin ./dbca 自定义用户表空间大小. 安装过程半个小时是需要的. 2.配置oracle系统用户环境变量 使用vi ...

  10. forget sus,syn sym semi word out~s

    1★ sus 在~下面     2★ syn 3★ sym 共同   4★ semi   半