System.Net.Cookie和System.Web.HttpCookie区别

近日写程序发现System.Net下也有一个Cookie类,顺便整理下2个cookie的区别:

1.System.Net.Cookie

 表示客户端使用的Cookie ,可由客户端应用程序检索通过Http接收的Cookie。

遵循Cookie规范:原始 Netscape 规范、RFC 2109 和 RFC 2965。(很重要的区别)

2.System.Web.Cookie

表示 服务器端使用的Cookie ,属性没有System.Net.Cookie多

遵循Cookie规范:采用的Netscape cookie草案方案。



我们一般来理解他们的区别就是下面简单的一句:

System.Web命名空间下的是给服务器段用的,System.Net是给客户端程序用的。

实际上不止这点区别:

下面我们来对比这两个Cookie类的属性如下,这些属性都是Copy自MSDN中文版的说明文档:

System.Web.HttpCookie  类 System.Net.Cookie 类
MSDN中对构造函数的描述:
已重载。 初始化 HttpCookie 类的新实例。
MSDN中对构造函数的描述:
已重载。 根据 Netscape 规范初始化 Cookie 类的新实例。通常,应用程序无需构造 Cookie 类,因为该类会基于通过 HTTP 响应接收的 Set-Cookie 标头自动创建。
 

Comment 

获取或设置服务器可添加到 Cookie 中的注释。

 

CommentUri 

获取或设置服务器可通过 Cookie 来提供的 URI 注释。

 

Discard 

获取或设置由服务器设置的丢弃标志。

Domain
获取或设置将此 Cookie 与其关联的域。

Domain 
获取或设置 Cookie 对其有效的 URI。

 

Expired 

获取或设置 Cookie 的当前状态。

Expires 
获取或设置此 Cookie 的过期日期和时间。

Expires 
获取或设置作为 DateTime 的 Cookie 过期日期和时间。

 

HttpOnly 
确定页脚本或其他活动内容是否可访问此 Cookie。

Name 
获取或设置 Cookie 的名称。

Name 
获取或设置 Cookie 的名称。

Path 
获取或设置要与当前 Cookie 一起传输的虚拟路径。

Path 
获取或设置此 Cookie 适用于的 URI。

 

Port 
获取或设置此 Cookie 适用于的 TCP 端口的列表。

Secure 
获取或设置一个值,该值指示是否使用安全套接字层 (SSL)(即仅通过 HTTPS)传输 Cookie。

Secure 
获取或设置 Cookie 的安全级别。

 

TimeStamp 
获取此 Cookie 作为 DateTime 发出的时间。

Value 
获取或设置单个 Cookie 值。

Value 
获取或设置 Cookie 的 Value。

Values 
获取单个 Cookie 对象所包含的键值对的集合。

Version 
获取或设置此 Cookie 符合的 HTTP 状态维护版本。

原文地址:https://www.cnblogs.com/shikyoh/p/2036489.html