session的实现机制?session的生命周期设置?session和cookie的区别?

session的实现机制:
我的理解是这样的,用户在登陆时,向服务器发送请求,服务器处理请求,session_start()开启session,将用户信息存储在session中,并生成一个session_id,将session_id发送给客户端,客户端将session_id存储在cookie中,当用户再次发送请求时,客户端会将cookie中的session_id一同发送给服务器,服务器处理请求。当客户端关闭时,cookie会销毁,存储在cookie中的session_id会销毁,session失效。
说明:当浏览器关闭cookie时,session会失效,可以通过其他方式来实现session会话控制。
session和cookie的区别:

  1. session是存储在服务器的,以文本的形势存储在硬盘。cookie是存储在客户端(浏览器),存储在内存中。当访问量过多时,会影响服务器的性能,一般使用代理服器存储session。
  2. cookie在浏览器可以修改,安全性低,session安全性高。
  3. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

session的生命周期设置:
session_set_cookie_param($lifetime)

cookie生存时间设置:
setcookie(session_name(), session_id(), time() + $lifeTime, “/”);

你可能感兴趣的:(session的实现机制?session的生命周期设置?session和cookie的区别?)