php网站的session 在服务器端是如何给客户端分配sessionid的
当用户浏览页面触发页面的session并且在session数组里面赋值这个session文件在服务器是存放在php.ini配置文件制定的位置吗?对于不同的来访用户对ses...
当用户浏览页面触发页面的session 并且在 session 数组里面 赋值 这个session文件在服务器是存放在 php.ini配置文件制定的位置吗?
对于不同的来访用户 对 session文件的寻找(根据sessionid的匹配) 这些 工作是 php 的session机制实现的吗?php程序员需要 了解这方面的细节吗? 展开
对于不同的来访用户 对 session文件的寻找(根据sessionid的匹配) 这些 工作是 php 的session机制实现的吗?php程序员需要 了解这方面的细节吗? 展开
展开全部
在PHP.INI里面有一项session.save_path,就是设置session保存位置的。
session是通过cookie来实现的,当浏览器访问一个页面时,php发现在cookie里面没有sessionid这个值,就会产生一个sessionid出来,同时对应一个服务器里面的session文件。然后通过cookie传给浏览器(通过cookie),下次浏览器再访问页面的时候,就会把这个sessionid给带上(也是cookie),然后php通过这个cookie找到对应的session文件,读取session的值。
也就是说如果用户关了cookie那session就用不了了。
以上就是session的原理,不过一般来说你也不需要了解它。
session是通过cookie来实现的,当浏览器访问一个页面时,php发现在cookie里面没有sessionid这个值,就会产生一个sessionid出来,同时对应一个服务器里面的session文件。然后通过cookie传给浏览器(通过cookie),下次浏览器再访问页面的时候,就会把这个sessionid给带上(也是cookie),然后php通过这个cookie找到对应的session文件,读取session的值。
也就是说如果用户关了cookie那session就用不了了。
以上就是session的原理,不过一般来说你也不需要了解它。
追问
sessionid作为用户的状态判断 在用户每次请求页面时 这个id会随着 http 请求的头描述 发送 !
在php程序里面 是只需要 开启 session 然后在 session 全局数组 里面 赋值 就可以了?
存储的位置 是由 php 来处理?
还有每次传过来的sessionid 提供给 php 程序 让 他 去寻找 对应此 id 的session文件 将里面的数据读到 session 数组里面(依次来实现 不同的 用户有 不同的 数据)?
追答
这些过程你不用管,你只要知道,对于一个用户,在session的有效时间内,你设置了$_SESSION['abc'] = 6;然后在其他页面读取这个$_SESSION['abc']就会得到6,中间怎么处理sessionid什么的,php都给你做好了。
你就把它想成一个超级全局变量那样直接使用好了。
展开全部
1、session存放在php.ini中 session.save_path 指定的位置
2、客户端在向服务器发出请求的时候,里边会包含sessionid,服务器根据接收到的sessionid然后与服务器保存的session匹配并判断用户,这个过程需要程序员手动写代码实现,不是系统自动完成的。 你需要知道如何获取sessionid,如何保存sessionid,如何判断服务器接收到的sessionid,如何获取服务器session中包含的内容,然后判断用户的角色
2、客户端在向服务器发出请求的时候,里边会包含sessionid,服务器根据接收到的sessionid然后与服务器保存的session匹配并判断用户,这个过程需要程序员手动写代码实现,不是系统自动完成的。 你需要知道如何获取sessionid,如何保存sessionid,如何判断服务器接收到的sessionid,如何获取服务器session中包含的内容,然后判断用户的角色
追问
程序员 在写的时候 只需要 判断登录 登录后 将用户的 信息写到session 数组里面
然后用户进入的其他页面 在开启session的前提下 程序员直接调用 session 数组就行 不用管sessionid?php内部 通过http传过来的sessionid去找服务器存储的对应session文件 将数据读到
session数组里面?是这样吗?
追答
是这样的,但是这样如果你关闭浏览器的话,session就失效了,有时候我们会希望用户登录状态维持一段时间,那么就需要有cookie辅助设置session的生命周期了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-28
展开全部
php程序员不需要了解,除非你自已重写php的session处理机制,一般不用了解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的 php的是在php.ini配置,在临时文件夹里面。
这个对应关系你就不需要去了解,你只需要知道数据存储调用销毁就可以了。当然了解下更好
这个对应关系你就不需要去了解,你只需要知道数据存储调用销毁就可以了。当然了解下更好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询