默认SESSION配置
在默认的JSP、PHP配置中,SessionID是需要存储在Cookie中的,默认Cookie名为:
-
PHPSESSIONID
-
JSESSIONID
以下以PHP为例:
-
你第一次访问网站时,
-
服务端脚本中开启了Session
session_start();
, -
服务器会生成一个不重复的 SESSIONID 的文件
session_id();
,比如在/var/lib/php/session
目录 -
并将返回(Response)如下的HTTP头
Set-Cookie:PHPSESSIONID=xxxxxxx
-
客户端接收到
Set-Cookie
的头,将PHPSESSIONID
写入cookie -
当你第二次访问页面时,所有Cookie会附带的请求头(Request)发送给服务器端
-
服务器识别
PHPSESSIONID
这个cookie,然后去session目录查找对应session文件, -
找到这个session文件后,检查是否过期,如果没有过期,去读取Session文件中的配置;如果已经过期,清空其中的配置
如果客户端禁用了Cookie,那PHPSESSIONID
都无法写入客户端,Session还能用?
答案显而易见:不能
并且服务端因为没有得到
PHPSESSIONID
的cookie,会不停的生成session_id
文件