PHP中session的运行机制是什么?session创建时 是否会在服务端记录一个cookie?c
PHP中session的运行机制是什么?
session创建时,是否会在服务端记录一个cookie?cookie里面的内容是什么?
参考解答
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识-称为sessionid,如果已包含一个sessionid则说明以前已经为此客户端创建过session,服务器就按照sessionid把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含sessionid,则为此客户端创建一个session并且生成一个与此session相关联的sessionid,sessionid的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionid将被在本次响应中返回给客户端保存。_
保存这个sessionid的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发给服务器。一般这个cookie的名字都是类似于SEEESIONID。
由于cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把sessionid传递回服务器。经常被使用的一种技术叫做URL重写,就是把sessionid直接附加在URL路径的后面。
为了在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个SEEESIONID。
相似问题
Php中echo print() print_r() printf() sprintf() var_
Php中echo,print(),print_r(),printf(),sprintf(),var_dump()有什么区别?
PHP中utf-8转换成gbk的函数是什么?
PHP中utf-8转换成gbk的函数是什么?
Php中用来对二维数组排序的函数是什么?
Php中用来对二维数组排序的函数是什么?
Php中分割字符串成数组的函数和连接数组成字符串的函分别有哪些?
Php中分割字符串成数组的函数和连接数组成字符串的函分别有哪些?
PHP中Cookie的原理是什么?怎么使用Cookie?
PHP中Cookie的原理是什么?怎么使用Cookie?
