session,application,cookie,viewstate,Querystring等的作用域

简介:

Session:存放于服务器,生命周期根据不同的设置而定。默认是20分钟,可以设置成无限期。主要根据客户端传递过来的SessionID来区分不同的对话。至于SessionID如何传递。目前绝大部分是只用Cookie,少部分使用url,极少部分使用表单元素。总之从客户端传递到服务器即可。

application:服务器应用程序,这个的生命周期是根据应用程序进程来决定的。IIS5以前基本上是当前进程,IIS5之后是根据进程池而定。只要这些停了那么就消失了,否则就一直存在。

cookie:这个是存放的载体在客户端的浏览器中,生命周期默认是根据服务器返回的Set-Cookie头设置的。有2大类。1、httponly:浏览器一关就没了。2、有过期时间:过期时间到了就没了。当然跟本地浏览器的设置也有关系。还有就是每个cookie都会有指定的domain,如果当前网站与指定的domain不同那么cookie也是取不到的。还有cookie的domain大小写区分,www.aa.com与www.Aa.com是不同的。另外cookie的传递是在Http头中传递的,一旦设置了cookie。每次请求服务器(不管是网页还是图片还是脚本)都100%会带上cookie。所以cookie过大的话,会影响网络传输效率。还有cookie只支持ASCII编码所以要UrlEncode

viewstate:这个东西不好说,载体是网络。服务器将服务器的 可以序列化的对象 序列化并加密后 转换成base64格式放到 一个页面的hidden表单元素中。当带着这个viewstate的表单提交回服务器时才能接收到。所以嘛,这个对象的生命周期仅仅是这个页面。而且页面必须用表单提交回来,否则数据就丢了。想解密viewstate?首先你要拿到一个重要的解密key。这个就是machineKey。

Querystring:http协议的基础,理论上没有生命周期可言。是由客户端向服务器发送的URL请求而已。因为也在http头中所以只支持ASCII编码


原文地址:http://topic.csdn.net/u/20111020/23/bcc747bf-4bce-4d04-afd0-e26cf4446f2d.html

个人觉得这个答案是比较好的,故摘出来,零金碎玉,积少成多!




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2012/03/25/2416954.html,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 自然语言处理 API
Session、cookie、token有什么区别?
Session、cookie、token有什么区别?
24 1
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
36 0
|
11天前
|
存储 JSON 安全
|
1月前
|
数据采集 存储 安全
登录态数据抓取:Python爬虫携带Cookie与Session的应用技巧
登录态数据抓取:Python爬虫携带Cookie与Session的应用技巧
|
1月前
|
存储 安全 搜索推荐
Django中Cookie和Session的使用
Django中Cookie和Session的使用
21 0
|
1月前
|
存储 安全 对象存储
Cookie和Session的区别:从原理到应用
【2月更文挑战第18天】
56 6
|
1月前
|
存储 搜索推荐 安全
【Web开发】cookie和session
【Web开发】cookie和session
|
2月前
|
存储 搜索推荐 安全
Java Web开发中的会话管理:Cookie与Session对比
Java Web开发中的会话管理:Cookie与Session对比
|
2月前
|
存储 前端开发 Java
【JavaEE进阶】 获取Cookie和Session
【JavaEE进阶】 获取Cookie和Session
|
2月前
|
存储 JSON 安全
解密Web安全:Session、Cookie和Token的不解之谜
解密Web安全:Session、Cookie和Token的不解之谜
77 0