重新认识之:Session篇

1.Session的作用

  Session被称作"会话控制",是一个与时间相关的概念,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

  任何东西存在都是基于某种需求的:Session是的客户端数据持久化,跨页面访问得到实现。

2.Session工作原理

  1)当一个session第一次被启用时,一个唯一的标识SessionID被存储于本地的cookie中,并基于这个ID来存储变量

  

  可以从上图看到响应头自动添加了Cookie。当下一次访问时,服务端会根据请求头ID来判断。

  

3.Session的利弊

  1)利处

  由于HTTP协议自身的特点,用户每执行一个PHP脚本都需要和Web服务器重新建立连接。又由于无状态记忆的特点,此次连接无法得到上次连接的状态。无法实现数据持久化,Session使用变量的形式解决了这个难题。

  而且数据也相对较为安全

  2)弊端

  由于Session存储在服务端,随着越来越多用户登录,Session 所需要的服务器内存量也会不断增加。

  访问 Web应用程序的每个用户都生成一个单独的 Session 对象。每个 Session 对象的持续时间是用户访问的时间加上不活动的时间。

  如果每个 Session 中保持许多对象,并且许多用户同时使用 Web应用程序(创建许多 Session),则用于 Session 持久性的服务器内存量可能会很大,从而影响了可伸缩性。

  

时间: 2024-10-11 23:15:54

重新认识之:Session篇的相关文章

PHPSession-完全PHP5之session篇

完全PHP5之session篇 转自http://blog.csdn.net/masterft/article/details/1640122 1.什么是session?       Session的中文译名叫做"会话",其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.目前社会上对session的理解非常混乱:有时候我们可以看到这样的话"在一个浏览器会话期间,...",这里的会话是指从一

探索ASP.NET MVC5系列之~~~5.Session篇(进程外Session)

其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc 本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers/SessionController.cs 方法有很多,今天主要说不改代码的那两种(状

探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)

其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc 本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers/SessionController.cs 方法有很多,今天主要说不改代码的那两种(状

第11章WEB11-Cookie&Session篇

今日任务? 显示用户的上次访问时间? 登录系统以后显示商品浏览记录? 购买商品将商品添加到购物车? 系统登录的验证码的校验教学导航教学目标了解JSP的简单的使用掌握Cookie的使用掌握Session的使用教学方法案例驱动法1.1 上次课内容回顾:Response 通过response设置状态码:setStatus(int status); 通过response设置响应头:setHeader(String name,String value);,setIntHeader(String name,

微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异

微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异 前言:由于开发人员要靠工具吃饭,可能和开发工具.语言.环境呆的时间比和老婆孩子亲人在一起的时间还多,所以每个人或多或少对自己吃饭的工具在感性上带有宗教情结,在理性上又受屁股决定大脑利益左右,这种比较一般都容易遭人争议, 这些比较不带任何偏见和感情色彩,主要是自己工作中记录在有道云笔记的经验日记主要是给I自己学习备查用,写得多了就有参考价值分享出来给需要的人参考,如果有任何争议本人不作辩解.这只代表本人自己的理解

NHibernate3剖析:Mapping篇之ConfORM实战(3):OneToOne语义

系列引入 NHibernate3剖析系列分别从Configuration篇.Mapping篇.Session篇.Core篇.Tool篇.Practice篇.Extension篇等方面全面揭示NHibernate3版本内容.特性及其应用,完全基于NHibernte3版本. NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/ NHibernate官方站点:http://nhforge.org/ NHibernate参考文档:http://nhforge

NHibernate3剖析:Mapping篇之ConfORM实战(2):原理

系列引入 NHibernate3剖析系列分别从Configuration篇.Mapping篇.Session篇.Core篇.Tool篇.Practice篇.Extension篇等方面全面揭示NHibernate3版本内容.特性及其应用,完全基于NHibernte3版本. NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/ NHibernate官方站点:http://nhforge.org/ NHibernate参考文档:http://nhforge

[图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)

TF Prepare [图解tensorflow源码] 入门准备工作 [图解tensorflow源码] TF系统概述篇 Session篇 [图解tensorflow源码] Session::Run()流程图 (单机版) [图解tensorflow源码] Session::Run() 分布式版本 Graph 篇 [图解tensorflow源码] Graph 图模块 (UML视图) [图解tensorflow源码] Graph 图模块 —— Graph Loading [图解tensorflow源码

session 与 cookie (一)

服务器信息临时存储 session篇 web.xml设置 <session-config> <session-timeout>30</session-timeout> </session-config> tomcat 服务器中session信息默认存储有效时间为30min session的有效期在web.xml中设置 有效时间的范围以分钟为单位最长时间24小时(1440) <br> 解决方法: 1.欲使有效期为永久建议将数据写到Cookies中