client--------->1.request------------------------->server

2. session_start();

|

|------------->4.request(SESSION_ID)--------->|

5. session_start();

|

|------------->7. request(SESSION_ID + logout)-->|

8. session_destroy();

|

1.client打开网页,向server发出请求,client上由于没有相应的cookie文件存在,在请求中不输送SESSION_ID

2.服务器在接受到client的请求后,通过执行session_start()函数开始进行session的处理,

首先确认请求中有没有SESSION_ID,如果没有的话,发行一个新的SESSION_ID;如果有的话,

则调用那个存有SESSION_ID的文件,并把信息写入$_SESSION里去,并存入以sess_开头的文件里。

3.把写入信息的$_SESSION参数发回给client,client在GET服务器发来的信息后,把这些信息保存在cookie里。

4.client把cookie里的SESSION_ID一起写入header后再次向server发出请求。重复1-3的操作

7.client发出登出请求

8.服务器接受请求后,通过执行session_destroy()函数开始删除session文件处理

9.服务器向client发出删除保存在client上的cookie文件的命令:   setcookie(session_name(), '', time()-60, '/');

php sesssion,php sesssion原理相关推荐

  1. 拦截器获取不到sesssion作用域的值_ES6--块级作用域

    本文是一篇读书笔记,来自http://es6.ruanyifeng.com/#docs/let 1.let 只在所在代码块有效 {let a = 10;var b = 1; }a // Referen ...

  2. ajax能用sesssion,解决Ajax应用中的session过期问题

    现在web开发中,ajax应用的比较多.关于此方面的框架也不少.在应用中都会遇到session过期的问题,如处理不当会影响用户体验,也有可能产生莫名的问题. 结合自己的思考和网上相关内容的参考,给出如 ...

  3. Hibernate的工作原理

            Hibernate的工作原理 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.c ...

  4. Struts1工作原理

    Struts1工作原理图 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(st ...

  5. scheme http https 区别 tls_HTTPS、HTTP、TLS/SSL工作及握手原理、PKI/CA密钥体系

    一.HTTPS与HTTP介绍 二.TLS/SSL工作原理 三.TSL/SSL握手过程 四.HTTPS性能优化 五.PKI体系 一.HTTPS与HTTP介绍 1.Https(Secure Hypetex ...

  6. struts2、hibernate工作原理和流程

    2019独角兽企业重金招聘Python工程师标准>>> struts2原理 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Control ...

  7. HTTP Session 的工作原理以及几个思维扩展

    大家都知道,HTTP 协议本身是无状态的,Session 的出现解决了这个问题,也被大多数 Web 端采用. 但它背后的实现原理你是否有兴趣了解呢,以及在它基础上的思维发散,和你聊聊. 无状态的 HT ...

  8. cookie、session和token原理

    目录 1 背景 2 cookie 2.1 cookie原理 2.2  cookie面临的问题 3 sesssion 3.1 sesssion原理 3.2  sesssion面临的问题 4 token ...

  9. 一天十道Java面试题----第四天(线程池复用的原理------>spring事务的实现方式原理以及隔离级别)

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 31.线程池复用的原理 32.spring是什么? 33.对Aop的理解 34.对IOC的理解 35.BeanFactor ...

最新文章

  1. Spring Bean 中的线程安全
  2. 蒋林涛:SDN/NFV仍有大量问题未解决 大网应用尚需努力
  3. jmeter中文_JMeter安装配置
  4. Learning Perl chapter 4 练习题
  5. WP7 WMAppManifest.xml各个属性作用
  6. java生成小图片_JAVA生成缩略小图片类
  7. easyui 一些小技巧
  8. MNIST的AlexNet实现
  9. Oracle触发器6-管理触发器
  10. 判断闰年的方法以及如何获得单链表的倒数第K个元素
  11. 解决百度文库不能复制最简单方法
  12. 学生管理 + 用户管理(Element版)
  13. 软件评测师备考详细知识点
  14. 计算机系统盘制作,一步步教你怎样制作U盘电脑系统,以后电脑装系统不求人...
  15. yarn.lock、package-lock.json、npm-shrinkwrap.json的理解
  16. Android利用自定义View实现简单的足球战术板
  17. 在Linux上使用7z的最高压缩比来压缩文件
  18. ASEMI整流桥GBP406~GBP410,GBP406参数,GBP410图片
  19. Linux 运维工程师(一)
  20. Hadoop小文件解决方案-Hadoop小文件的前因后果

热门文章

  1. python排序-堆排序
  2. c语言能选无,【提问】求助,一个C语言选择执行题怎么都不能完美运行
  3. Python使用标准库itertools中count类求解数苹果问题
  4. Python把嵌套的字符串列表转换为整数列表的两种方法
  5. Python泛型函数与单分发器
  6. 序列化与反序列化_分布式系统基础之序列化和反序列化
  7. 学习OpenCV时 ,添加:#includeopencv2/core/core.hpp等头文件出现无法编译的错误
  8. java split 正则_java split方法的实现 正则匹配
  9. hashcode是什么意思_面试官:说一下HashMap原理,为什么会产生死循环
  10. sangfor设备升级系统_H3C IPS入侵防御系统配置