zoukankan      html  css  js  c++  java
  • PHP之Session

    1.什么是session

     session在计算机中,尤其是在网络应用中,称为会话控制。具体到web的session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义可以看到,session是一个特定的时间概念。

    2.为什么要使用session

    • HTTP协议是一个无状态的协议,即同一个客户端的本次请求和上次请求没有对应关系,HTTP服务器并不知道这两个请求来自同一个客户端。这样其优点是在于减轻服务器压力;缺点在于每次请求会传输大量重复的内容信息
    • SESSION提供在PHP脚本中定义全局变量的方法,使得这个全局变量在同一个SESSION中对于所有的PHP脚本内容都有效,所以SESSION是基于HTTP服务器的用于保持状态的方法。
    • SESSION允许通过将数据存储在HTTP服务器中,以在整个用户会话过程中保持该数据,所以SESSION不仅是一个时间概念,还包括了特定的用户和服务器。

    3.session的工作原理

    4.与SESSION相关的函数

    • session_destroy删除一个回话中的全局数据
    • session_name读取/设置会话名称
    1. 语法:string session_name([string $name]);
    2. 如果指定$name参数,session_name()函数会更新会话名称,并返回原来的会话名称
    3. 必须在调用session_start()函数之前调用session_name()函数
    • session_id获取/设置当前会员id
      • string session_id([string $id]);
      • 如果指定$id参数的值,则使用指定值作为会话ID
      • 必须在调用session_start()函数之前调用session_id函数

    5.会话识别符

    • 会话由一个唯一标识符,可以使用session_id函数读取此标识符。为PHP应用程序启用会话状态时,将检查应用程序中每个页面请求是否有浏览器发送的sessionID。如果未提供任何sessionID值,则PHP将启动一个新会话,并将该会话的sessionID值随响应一起发送到浏览器。
    • 默认情况下,sessionID值存储在Cookie中;也可以实现在URL中存储sessionID。
    • 只要一直使用相同的sessionID值来发送请求,会话就被视为活动的;如果特定会话的请求间隔超过特定的超时值,则该会话被视为已经过期。如果使用过期的sessionID值发送的请求将产生一个新的会话。

    6.PHP配置中的session片段

  • 相关阅读:
    go-zero尝试运行输出hello-world
    grpc客户端 服务端测试
    protobuf序列化
    protobuff3语法详情
    【转】普通程序员如何转向AI方向
    深度学习微软 azure-云服务器组 centos特殊内核版本 gpu NVIDIA 驱动及CUDA 11.0安装
    分享一个主要用于nas场景的集成了迅雷,百度网盘等软件的docker ubuntu vnc镜像-适用于x86环境
    以spark sql 维护spark streaming offset
    打通es及lucene应用,lucene应用es Query,应用完整的es query
    打通es及lucene应用,lucene应用es Query,结合非queryString查询(二)
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7476127.html
Copyright © 2011-2022 走看看