session,application,cookie,viewstate,Querystring等的範圍

來源:互聯網
上載者:User

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

個人覺得這個答案是比較好的,故摘出來,零金碎玉,積少成多!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.