http的session机制

一:什么是session

session叫做会话,在http请求中来识别和不同客户端的一种状态,常用在web登录保存客户端状态使用.

二:http通信登录过程

客户端登录以后,服务端生成唯一session id,和相应的登录用户信息,把session id返回给客户端,客户端开启cookie的直接保存在cookie里面,没有cookie的可以携带在url中每次访问通过session id和服务端建立联系.

三:session的使用

 

(1)独立的服务器,session信息可以保存在系统文件中;

 

(2)多台服务器,session信息可以保存在redis或memcache中;

 

四: session的过期

session可以设置有效期,可以在特定时间内过期.注意php的session过期回收是按照gc回收机制,由于gc是按照几率启动的

所以不能保证session的过期后,真正被删除,所以php做好使用redis或memcache来保证;

五: 不同二级域名的session共享

以laravel为例,test1.lee.com 作为业务系统 test2.lee.com作为登录系统,

(1)

进入test1.lee.com 登录跳转test2.lee.com完成登录,跳转回test1.lee.com这时候 test1.lee.com下的cookie信息和test2的一样

配置test2.lee.com的session.php

SESSION_DOMAIN=.lee.com

这样在test2.lee.com下登录后cookie信息会共享到所有lee.com的二级域名下面;

(2)test2作为一个一个登录中心,登录完成跳转到test2发现cookie信息不是最新的,需要请求下test1的任一个页面,然后才能获取最新cookie,不知道什么原因,现在做的是test2登录成功,跳转到test1的测试页面,测试页面跳转到首页。

 

 

 

 

你可能感兴趣的:(php开发,数据交互)