N久都没有写读书记了,~~~倒不是俺最近没有学习,实在是没有时间更新,(小样!你就别为自己的不负责任推托啦~~~狂扁!·#、¥%……—)
另外一方面,偶也有小小的忏悔,本来打算和banianMM学习一下认真感悟书的,但是无奈啊,读书笔记都写成ZZ帖子了,实在比较汗颜~~~~还有一个小小的方面就是偶发现偶帖子上面潜水人士实在多,但是却没有回帖, 0 0 好有挫败感阿。不管了,继续继续 .......
Client Session State VS Server Session State
Client 部分:
基本想法:将state保存在Client部分。而server端是stateless的。简单的有几种实现方式:
URL parameters 优点:简单实现,缺点:SIZE有限制。如果采用SessionID,需要修改URL,那么将影响一些系统的书签功能。
hidden field:在网页上面不显示。在请求和读取请求返回消息的时候存取hidden field的state,优点:比较简单。缺点:安全性差,hidden仅仅针对网页可视性而言,若察看源代码就可以看到state = =
Cookie:缺点;cookie的安全性也不好,而且容易被IE禁用。不能完全依赖。
何时使用?
支持Stateless server,支持clustering failover,(这是client 较server 的优点。)
安全性能差,解决方案需要封装,以及拆封的过程,需要性能的Cost做代价。
Server Session state
Keep the session state on a serer system in a serialized form.
Server Session State 有很多不好的假设:
no clustering , no fail(集中管理,不支持集群)
实现中主要解决两个问题:
1、用什么形式存储?
a、二进制 优点:简单,需要存储空间小,缺点:不可读,版本控制会出现问题。
b、xml文件
2、在哪里存储?
数据库,index by session Id
实现:
.net下的session 管理,在Web server端。
No comments:
Post a Comment