Session的工作机制

session 技术相当于Cookie技术的升级版,Cookie的工作机制是将信息记录在客户端,而Session技术是将信息存放在服务器端,服务器存储信息的方式有很多,可以是文件、数据库和内存等,这里以文件的存储方式介绍session的工作步骤。

(1)客户端第一次访问某服务器。
(2)服务器通过Cookie发送sessionID给客户端,并在服务器建立一个与sessionID同名的文件用于存储信息,而sessionID不能重复,即不同的客户端的sessionID是不同的。
(3)客户端再次访问服务器时会携带服务器发送给客户端的sessionID。
(4)服务器根据客户端发送的sessionID查找对应的文件,读取文件内容。

通过上面的步骤可以看出,session的工作依赖cookie的工作,当然不用Cookie也可以实现sessionID的传递,如URL,但是用cookie最方便。

PHP本身的session是如何工作的呢?首先,在需要共享客户端信息的文件中通过session_start()函数开启session,然后就可以向$_SESSION全局数组中存入或读取数据,而$_SESSION 数组与其他数组不同的是,当向该数组中添加数据时,PHP还会将其中的数据系列化写入session文件中,每次开启session时,PHP会将session文件中的数据读取到该全局数组中,实现数据共享的功能。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieSession都是用来在Web应用中跟踪用户身份和状态的机制,但它们的工作原理有所不同。 1. Cookie工作原理: 当用户访问一个网站时,服务器会在响应中包含一个名为"Set-Cookie"的HTTP头部,其中包含了一些信息,如用户ID、登录状态等。浏览器接收到这个Cookie后,会将其存储在本地,下次用户再访问该网站时,浏览器会自动将Cookie发送到服务器。服务器根据Cookie中的信息来识别用户身份和状态。 2. Session工作原理: Session是基于服务器端的机制。当用户首次访问网站时,服务器会为该用户创建一个唯一的Session ID,并将该ID存储在服务器端的内存或数据库中。同时,服务器会将该Session ID发送给浏览器,通常通过一个名为"sessionid"的Cookie。浏览器在后续的请求中会自动携带该Cookie。服务器通过Session ID来查找对应的用户状态和数据。 具体的流程如下: - 用户访问网站时,服务器检查请求中是否包含有效的Session ID。 - 如果没有有效的Session ID,则创建一个新的Session,并生成一个唯一的Session ID。 - 服务器将该Session ID发送给浏览器,并在响应中设置一个名为"sessionid"的Cookie。 - 浏览器接收到Cookie后,存储在本地。 - 在后续的请求中,浏览器会自动将该Cookie发送给服务器。 - 服务器根据Session ID查找对应的Session,并根据需要更新Session的状态和数据。 需要注意的是,Cookie存储在客户端,可以被用户修改或删除;而Session存储在服务器端,对用户是不可见的。此外,为了保护用户数据的安全性,通常会对CookieSession进行加密和签名处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值