在 Internet Explorer 中的 cookie 的编号和大小的限制

文章翻译 文章翻译
文章编号: 306070 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

建议使用最小限制以下 RFC 2109 遵循 Microsoft Internet Explorer:
  • 至少 300 的 cookie
  • 至少 4096 字节,每个 cookie (如由字符组成的 cookie 设置 Cookie 标题的语法描述中非终端的大小为单位)
  • 至少 20 cookie,每个唯一的主机或域的名称
注意这些建议的最小限制出现在 RFC 2109,部分 6.3 中,"实施限制"。有关详细信息,请参阅"参考"一节。

更多信息

每个 cookie 开头的名称 / 值对。这对后面有零个或多个由分号分隔的属性值对。对于一个域名,每个 cookie 被限制为 4096 字节为单位)。这个总数可以存在 4 千字节 (KB) 的一个名称 / 值对的形式,或最多为 20 的名称-值对该总 4 KB。如果计算机没有足够的空间来存储 cookie,则 cookie 将被丢弃。不会被截断。应用程序应使用尽可能少的 cookie 尽可能小,以及一个 cookie 尽可能。此外,应用程序应该能够处理 cookie 的丢失。

如果 Web 应用程序使用多个 19 自定义 cookie,ASP 会话状态可能会丢失。Internet Explorer 4.0 及更高版本允许总共 20 cookie,每个域。ASPSessionID 是一个 cookie,如果您使用 20 个或更多自定义 cookie,因为浏览器被被迫放弃 ASPSessionID cookie 并丢失会话。

若要存储域的 20 多个名称-值对,可以通过连接到该 cookie 4096 字节的限制每个 cookie 的多个名称-值对创建 cookie 字典。目前,若要从客户端脚本检索这些值,必须手动分析 cookie。但是,Active Server Pages 的请求响应对象包含内置功能,可以使用 cookie 作为字典对象的词典。下面的代码示例演示如何使用 cookie 的 ASP 页中的词典:
<%
   Response.Cookies ("MyCookie")("a")="A"
   Response.Cookies ("MyCookie")("b")="B"   
   Response.Cookies ("MyCookie")("c")="C"
   Response.Cookies ("MyCookie")("d")="D"
   Response.Cookies ("MyCookie")("e")="E"
   Response.Cookies ("MyCookie")("f")="F"
   Response.Cookies ("MyCookie")("g")="G"
   Response.Cookies ("MyCookie")("h")="H"
   Response.Cookies ("MyCookie")("i")="I"
   Response.Cookies ("MyCookie")("j")="J"
   Response.Cookies ("MyCookie")("k")="K"
   Response.Cookies ("MyCookie")("l")="L"
   Response.Cookies ("MyCookie")("a1")="A"
   Response.Cookies ("MyCookie")("b1")="B"   
   Response.Cookies ("MyCookie")("c1")="C"
   Response.Cookies ("MyCookie")("d1")="D"
   Response.Cookies ("MyCookie")("e1")="E"
   Response.Cookies ("MyCookie")("f1")="F"
   Response.Cookies ("MyCookie")("g1")="G"
   Response.Cookies ("MyCookie")("h1")="H"
   Response.Cookies ("MyCookie")("i1")="I"
   Response.Cookies ("MyCookie")("j1")="J"
   Response.Cookies ("MyCookie")("k1")="K"
   Response.Cookies ("MyCookie")("l1")="L"
  
   Response.Cookies("MyCookie").Expires = "12/31/2001"


    For Each strKey In Request.Cookies
      Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR><BR>"
      If Request.Cookies(strKey).HasKeys Then
        For Each strSubKey In Request.Cookies(strKey)
          Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
            Request.Cookies(strKey)(strSubKey) & "<BR>"
        Next
      End If
    Next
%>
注意在 Internet Explorer 5.0 和更高版本,可用于用户数据的行为在会话间保持数据。这种行为有更大的容量比 cookie。

如果您使用document.cookie属性来检索客户端 cookie, document.cookie属性可以检索仅 4096 字节为单位)。此字节总数可以是一个名称 / 值对的 4 KB,也可以是具有总大小为 4 KB 的达 20 个名称-值对。

在 HTML 中 Microsoft CDocument::GetCookie调用document.getcookie函数。

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
820536 Document.Cookie 属性返回一个空字符串

参考

RFC 2109 规范有关的详细信息,请参见以下 Web 站点:
互联网工程任务组 (IETF)
http://www.ietf.org/rfc/rfc2109.txt

万维网联合会 (W3C)
http://www.w3.org/Protocols/rfc2109/rfc2109
有关Cookie集合的详细信息,请参阅下面的 Microsoft 开发人员网络 (MSDN) Web 站点:
http://msdn.microsoft.com/en-us/library/ms525394 (v=vs.90).aspx
UserData行为有关的详细信息,请参阅下面的 MSDN 网站:
http://msdn2.microsoft.com/en-us/library/ms531424.aspx
有关 cookie 的详细信息,请参阅下面的 Cookie 中央 Web 站点:
http://www.cookiecentral.com/
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
157906 如何跨页使用 VBScript 中维护的状态
175167 如何将状态存储在 Active Server Pages 应用程序
有关为 Microsoft Internet Explorer 开发基于 Web 的解决方案的详细信息,请访问下面的 Microsoft 网站:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep
Microsoft 提供的第三方联系信息,以帮助您查找技术支持。此联系信息如有更改恕不另行通知。Microsoft 不能保证第三方联系信息的准确性。

属性

文章编号: 306070 - 最后修改: 2013年9月3日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Internet Explorer 4.01 Service Pack 1
关键字:?
kbhowto kbmt KB306070 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 306070
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com