小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

.Net中的兩個Cookie類

 青格兒 2009-04-18
Net 提供了兩個Cookie類:

System.Web.HttpCookie  類 和 System.Net.Cookie 類

對應(yīng)的有兩個Cookie 集合類

System.Web.HttpCookieCollection 類 和 System.Net.CookieCollection 類

我們一般來理解他們的區(qū)別就是下面簡單的一句:

System.Web 命名空間下的是給服務(wù)器段用的,System.Net 是給客戶端程序用的。

實際上不止這點區(qū)別:

 

下面我們來對比這兩個Cookie類的屬性如下,這些屬性都是Copy自MSDN中文版的說明文檔:

System.Web.HttpCookie  類 System.Net.Cookie 類
MSDN中對構(gòu)造函數(shù)的描述:
已重載。 初始化 HttpCookie 類的新實例。
MSDN中對構(gòu)造函數(shù)的描述:
已重載。 根據(jù) Netscape 規(guī)范初始化 Cookie 類的新實例。通常,應(yīng)用程序無需構(gòu)造 Cookie 類,因為該類會基于通過 HTTP 響應(yīng)接收的 Set-Cookie 標頭自動創(chuàng)建。
 

Comment 

獲取或設(shè)置服務(wù)器可添加到 Cookie 中的注釋。

 

CommentUri 

獲取或設(shè)置服務(wù)器可通過 Cookie 來提供的 URI 注釋。

 

Discard 

獲取或設(shè)置由服務(wù)器設(shè)置的丟棄標志。

Domain
獲取或設(shè)置將此 Cookie 與其關(guān)聯(lián)的域。

Domain 
獲取或設(shè)置 Cookie 對其有效的 URI。

 

Expired 

獲取或設(shè)置 Cookie 的當前狀態(tài)。

Expires 
獲取或設(shè)置此 Cookie 的過期日期和時間。

Expires 
獲取或設(shè)置作為 DateTime 的 Cookie 過期日期和時間。

 

HttpOnly 
確定頁腳本或其他活動內(nèi)容是否可訪問此 Cookie。

Name 
獲取或設(shè)置 Cookie 的名稱。

Name 
獲取或設(shè)置 Cookie 的名稱。

Path 
獲取或設(shè)置要與當前 Cookie 一起傳輸?shù)奶摂M路徑。

Path 
獲取或設(shè)置此 Cookie 適用于的 URI。

 

Port 
獲取或設(shè)置此 Cookie 適用于的 TCP 端口的列表。

Secure 
獲取或設(shè)置一個值,該值指示是否使用安全套接字層 (SSL)(即僅通過 HTTPS)傳輸 Cookie。

Secure 
獲取或設(shè)置 Cookie 的安全級別。

 

TimeStamp 
獲取此 Cookie 作為 DateTime 發(fā)出的時間。

Value 
獲取或設(shè)置單個 Cookie 值。

Value 
獲取或設(shè)置 Cookie 的 Value。

Values 
獲取單個 Cookie 對象所包含的鍵值對的集合。

 

 

Version 
獲取或設(shè)置此 Cookie 符合的 HTTP 狀態(tài)維護版本。

你會看到 System.Net.Cookie 類 比 System.Web.HttpCookie  類多好些屬性,一些我們WEB開發(fā)人員都不清楚的屬性。為什么呢?

這就要從 cookie規(guī)范 說起。目前有以下幾種Cookie規(guī)范:

  • Netscape cookie草案:是最早的cookie規(guī)范,基于rfc2109。盡管這個規(guī)范與rc2109有較大的差別,但是很多服務(wù)器都與之兼容。
  • rfc2109, 是w3c發(fā)布的第一個官方cookie規(guī)范。理論上講,所有的服務(wù)器在處理cookie(版本1)時,都要遵循此規(guī)范。遺憾的是,這個規(guī)范太嚴格了,以致很多服務(wù)器不正確的實施了該規(guī)范或仍在使用Netscape規(guī)范。
  • rfc2965規(guī)范定義了cookie版本2,并說明了cookie版本1的不足。

rfc2965規(guī)范的使用,目前并不多。rfc2109規(guī)范相應(yīng)要嚴格得多,在實際應(yīng)用上,并不是所有的瀏覽器和Web服務(wù)器都嚴格遵守。因此相比較而言,Netscape cookie草案倒是一個比較簡潔和被廣泛支持的Cookie規(guī)范。

 

回過來我們再看 System.Web.HttpCookie 類  和 System.Net.Cookie 類的區(qū)別

我理解的他們的區(qū)別應(yīng)該是:

 

System.Web.HttpCookie 類

這個類最初設(shè)計是考慮是WEB服務(wù)器用的,由于微軟的WEB服務(wù)器并沒有遵循 rfc2109 \rfc2965 規(guī)范。而是采用的 Netscape cookie草案方案。

同時為了兼顧以前ASP的一些編碼習(xí)慣,于是就有了這個類這樣的設(shè)計。

 

在 dudu 之前的一篇博客中提到的 

遍歷System.Web.HttpCookieCollection, 會有如下的寫法:

foreach (string name in Request.Cookies)
{
    info += string.Format("{0} = {1} \r\n
", name, Request.Cookies[name].Value);
}

而 foreach(HttpCookie cookie in Request.Cookies)會出錯。 為何微軟會有這樣的設(shè)計就可以理解了。

 

 

System.Net.Cookie 類

這個類最初設(shè)計時候應(yīng)該是考慮主要是客戶端使用的,

由于考慮到有些服務(wù)器的Cookie 是遵循 rfc2109 \rfc2965 規(guī)范,所以這個類的設(shè)計多了那些屬性。

 

相關(guān)資料:

 

System.Net.Cookie和System.Web.HttpCookie有什么區(qū)別

http://topic.csdn.net/t/20050304/15/3824900.html

 

為什么foreach(HttpCookie cookie in Request.Cookies)會出錯

http://www.cnblogs.com/dudu/archive/2004/12/21/80118.html

 

HTTP代理如何正確處理Cookie

http://www.ibm.com/developerworks/cn/java/j-cookie/

 

Netscape cookies 草案

http://wp./eng/mozilla/3.0/handbook/javascript/cookies.htm

 

W3C的 rfc2109 規(guī)范

http://www./Protocols/rfc2109/rfc2109.txt

 通用的javascript-js操作cookie的類
http://blog.csdn.net/junval/archive/2008/01/22/2059529.aspx

W3C的 rfc2965 規(guī)范

http://www./rfc/rfc2965.txt


另:ASP.NET(C#)實現(xiàn)一次性上傳多張圖片(多個文件)

轉(zhuǎn)自: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1922055

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多