zoukankan      html  css  js  c++  java
  • session工作原理

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

                           2. session_start();
       |<-------------3.reponse(SESSION_ID)<--------|
       |------------->4.request(SESSION_ID)--------->|
                           5. session_start();
       |<-------------6.reponse(SESSION_ID)<---------|
       |------------->7. request(SESSION_ID + logout)-->|
                          8. session_destroy();
       |<-------------9. reponse(删除cookie文件)<-------|
     
    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, '/');
  • 相关阅读:
    如何通过setTimeout理解JS运行机制详解
    css3系列之伪类选择器
    css3系列之属性选择器
    css3系列之伪元素选择器
    css3系列之兄弟选择器
    作为了解系列之 预处理器 和 后处理器
    网络系列之跨域
    网络系列之 cookie增删改查(封装)
    网络系列之 jsonp 百度联想词
    网络系列之 什么是ajax 封装ajax
  • 原文地址:https://www.cnblogs.com/wlemory/p/4851200.html
Copyright © 2011-2022 走看看