`
CB-13
  • 浏览: 21430 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于会话的几点总结

    博客分类:
  • Web
阅读更多
1、HTTP协议本身是“连接-请求-应答-关闭连接”模式的,是一种无状态协议(HTTP只是一个传输协议);

2、Cookie规范是为了给HTTP增加状态跟踪用的(如果要精确把握,建议仔细阅读一下相关的RFC),但不是唯一的手段;

3、所谓Session,指的是客户端和服务端之间的一段交互过程的状态信息(数据);这个状态如何界定,生命期有多长,这是应用本身的事情;

4、由于B/S计算模型中计算是在服务器端完成的,客户端只有简单的显示逻辑,所以,Session数据对客户端应该是透明的不可理解的并且应该受控于服务端;Session数据要么保存到服务端(HttpSession),要么在客户端和服务端之间传递(Cookie或url rewritting或Hidden input);

5、由于HTTP本身的无状态性,服务端无法知道客户端相继发来的请求是来自一个客户的,所以,当使用服务端HttpSession存储会话数据的时候客户端的每个请求都应该包含一个session的标识(sid, jsessionid 等等)来告诉服务端;

6、会话数据保存在服务端(如HttpSession)的好处是减少了HTTP请求的长度,提高了网络传输效率;客户端session信息存储则相反;

7、客户端Session存储只有一个办法:cookie(url rewritting和hidden input因为无法做到持久化,不算,只能作为交换session id的方式,即a method of session tracking),而服务端做法大致也是一个道理:容器有个session管理器(如tomcat的org.apache.catalina.session包里面的类),提供session的生命周期和持久化管理并提供访问session数据的api;

8、使用服务端还是客户端session存储要看应用的实际情况的。一般来说不要求用户注册登录的公共服务系统(如google)采用cookie做客户端session存储(如google的用户偏好设置),而有用户管理的系统则使用服务端存储。原因很显然:无需用户登录的系统唯一能够标识用户的就是用户的电脑,换一台机器就不知道谁是谁了,服务端session存储根本不管用;而有用户管理的系统则可以通过用户id来管理用户个人数据,从而提供任意复杂的个性化服务;

9、客户端和服务端的session存储在性能、安全性、跨站能力、编程方便性等方面都有一定的区别,而且优劣并非绝对(譬如TheServerSide号称不使用HttpSession,所以性能好,这很显然:一个具有上亿的访问用户的系统,要在服务端数据库中检索出用户的偏好信息显然是低效的,Session管理器不管用什么数据结构和算法都要耗费大量内存和CPU时间;而用cookie,则根本不用检索和维护session数据,服务器可以做成无状态的,当然高效);

10、所谓的“会话cookie”简单的说就是没有明确指明有效期的cookie,仅在浏览器当前进程生命期内有效,可以被后继的Set-Cookie操作清除掉。
分享到:
评论

相关推荐

    计算机网络技术知识点总结(1).doc

    按范围划分的几类网络:广域网、城域网、局域网、个人区域网 7.1B=8bit 千字节 2的10次幂 时延:发送时延、传播.时延(传播时延=信道长度/电磁波在信道上的传播速率)、处理 时延、排队时延(处理时延和排队时延发生...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    深入解析ATL(第2版).pdf

    但它已经使很多开发人员的编程发生了革命性的变化,并在未来几年将持续得到改进。但是,COM编程(和 ATL)也依然非常有活力,对Microsoft内外的很多开发人员都非常重要。本书的第2版,与第1版一样,提供了您所需要的...

    configuring_cisco_voice_over_ip.zip

    而近几年来发生的这些惊人变化还只是这场革命的开端。在网络短暂的历史进程中,最具活力的事件也许即将发生:把语音和数据技术结合成一种统一的传输模式。随着Cisco新的语音解决方案系列的发布,从传统的PBX语音解决...

    WCF全面解析(套装上下册) 高清pdf 带书签 part3(共4)

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求...

    嵌入式流媒体服务器的设计与实现.pdf

    键点和几个代码文件中包含的主要功能模块。 第五章详细介绍了MTCP(命令控制协议)的制定原因,参考的协议,所作的改善, 具体命令的设计及代码的实现。 第六章详细介绍了在嵌入式平台H13510实现流媒体服务器的过程。...

    J2EE系统的EJB技术性能测试和优化 (2006年)

    对一个J2EE架构的应用系统的EJB设计模式及性能进行分析,建立了测试环境,运行了测试用例,总结了优化EJB性能的几点方法和策略,包括增加会话外观、运用值对象模式、合理规划EJB设计粒度等.

    CCNA完整版视频教程48集.rar

    9.11PACL知识点总结NAT工作原理及几个术语介绍wmv 9.11-以太网介绍二层三层交换机工作原理启动顺序基本命令配置wmv 9.135P基本规则流程详解 Root RP DP选择过程)wm出面回 9.145TP满口状态RSTP(4种端口) VLAN Trunk...

    WCF全面解析(套装上下册) 高清pdf 带书签 part2(共4)

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求...

    WCF全面解析(源码)

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求...

    WCF全面解析(下册)

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求...

    WCF全面解析(上册)

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【WEB】实现会话跟踪的技术有哪些? 40 【WEB】什么是ORM 42 【反射】反射中,Class.forName和classloader的区别 42 【JVM】JAVA编译原理和JVM原理 42 【JVM】Java内存模型 44 【JVM】jvm内存模型 45 主内存与工作...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    SessionStorage 存储的数据只在会话期间有效,关闭浏览器则自动删除 Sqlite 一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威...

    您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问解决方法

    “网上邻居”无法访问的故障多种多样,总结起来基本上有下面的几个: 1,没有共享资源/共享服务未启用。 症状:电脑与电脑间可以Ping通,但无法访问共享资源,在“计算机管理”中查看“本地共享”后会弹出“没有...

    Java面试宝典2010版

    17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 90 18、MVC的各个部分都有那些技术来实现?如何实现? 90 19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种...

    ssh(structs,spring,hibernate)框架中的上传下载

    Spring针对几个著名的Web服务器的数据源提供了相应的JDBC抽取器:  •WebLogic:WebLogicNativeJdbcExtractor  •WebSphere:WebSphereNativeJdbcExtractor  •JBoss:JBossNativeJdbcExtractor  在定义了JDBC...

    Activiti6.0教程例子下载

    流程模型包括:流程图、协作图、编排图、会话图。详细信息请google。 1.3. Activiti概述 1.3.1. Activiti由来 学习过Activiti的朋友都知道,Activiti的创始人也就是JBPM(也是一个优秀的BPM引擎)的创始人,从...

Global site tag (gtag.js) - Google Analytics