• 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

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

    2021年9月 北京、西安两地,高薪诚聘 .NET工程师,请私信联系!
    如果认为此文对您有帮助,别忘了支持一下哦!
    声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。转载时请在文章页面明显位置给出原文链接。
  • 相关阅读:
    原型链与析构函数
    django篇-路由系统介绍
    mvc与mtv
    模板初探
    安装和创建django项目
    一分钟学会定时删除日志的 Shell 脚本
    svn其中一种备份方式svnsync
    mysql企业实战(二)之主从复制,读写分离,双主,以及高可用
    mysql企业实战(一)
    nginx详解
  • 原文地址:https://www.cnblogs.com/youring2/p/2416954.html
Copyright © 2020-2023  润新知