zoukankan      html  css  js  c++  java
  • ASP.NET中的两个Cookie类:HttpCookie类与Cookie类

    System.Web.HttpCookie类,对应集合类System.Web.HttpCookieCollection类

    System.Net.Cookie类,对应集合类System.Net.CookieCollection类

    区别:

    System.Web.HttpCookie是服务器端通过http请求从客户端获取的Cookie(服务器端用)

    System.Net.Cookie是表示客户端程序通过http响应接收到的Cookie(客户端程序用)

    属性差别:

    属性

    System.Web.HttpCookie类

    System.Net.Cookie类(客户端程序用)

    构造函数

    初始化 HttpCookie 类的新实例。

    根据Netscape规范初始化 Cookie类的新实例。通常,应用程序无需构造Cookie 类,因为该类会基于通过HTTP响应接收的 Set-Cookie标头自动创建。

    Comment

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

    CommentUri

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

    Discard

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

    Domain

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

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

    Expired

    获取或设置Cookie的过期状态(返回ture|false:过期|没过期)

    Expires

    获取或设置此Cookie的过期日期和时间(返回DateTime)

    获取或设置Cookie的过期日期和时间(返回DateTime)(默认MinValue,会话Cookie)

    HasKeys

    Cookie是否具有子键(获取,true|false)

    HttpOnly

    指定Cookie是否可通过客户端脚本访问(获取或设置,true|false)

    Item

    获取HttpCookie.Values属性的快捷方式(为与老ASP版本兼容)

    Name

    获取或设置Cookie名

    获取或设置Cookie名

    Path

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

    获取或设置Cookie适用于的URI

    Port

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

    Secure

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

    获取或设置Cookie的安全级别

    TimeStamp

    获取Cookie作为DateTime发出的时间

    Value

    获取或设置单个Cookie的值

    获取或设置Cookie值

    Values

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

    Version

    获取或设置Cookie的HTTP状态维护版本

    目前有以下几种Cookie规范:

    Netscape cookie草案:是最早的cookie规范,基于rfc2109。尽管这个规范与rc2109有较大的差别,但是很多服务器都与之兼容。

    rfc2109, 是w3c发布的第一个官方cookie规范。这个规范太严格了,以致很多服务器不正确的实施了该规范或仍在使用Netscape规范。

    rfc2965,规范定义了cookie版本2,并说明了cookie版本1的不足。

    推算区别:

    (1)System.Web.HttpCookie 类:最初设计考虑是WEB服务器用的,由于微软的WEB服务器并没有遵循rfc2109 \rfc2965 规范。而是采用的 Netscape cookie草案方案。

    同时为了兼顾以前ASP的一些编码习惯,于是就有了这个类这样的设计。

    如:遍历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)会出错

    (2)System.Net.Cookie 类:最初设计考虑主要是客户端使用的,由于考虑到有些服务器的Cookie 是遵循rfc2109 \rfc2965规范,所以这个类的设计多了那些属性

  • 相关阅读:
    代码艺术 CountDownTimer
    java 正则
    What are the top 10 things that we should be informed about in life
    java 闭包与回调
    Hive记录-单机impala配置
    Hbase记录-Hbase介绍
    Hbase记录-Hbase其他工具
    Hbase记录-Hbase shell使用命令
    Hbase记录-Hbase Web管理工具
    CM记录-Hadoop运维管理
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1787596.html
Copyright © 2011-2022 走看看