java - Tomcat : Cookies length

标签 java jsp cookies tomcat5.5

我正在为我的应用程序创建并附加一个 cooking ,其中包含一些有用的信息。

但此后将无法访问此信息。

问题是,当我尝试附加太多信息时,我的 cookie 不会被转发。当我尝试附加一些信息时就可以了。

我的问题:

  1. Cookie 值的最大长度是多少?
  2. 如果这是一个错误,Tomcat 5.5 有解决方法吗?

我正在使用以下代码创建 cookie:

Cookie cookie = new Cookie(key, value);
cookie.setPath("/");
response.addCookie(cookie);

为了检索我的 cookie,我使用以下代码:

private static String getCookieValue(HttpServletRequest request, String name) {
    boolean found = false;
    String result = null;
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
        int i = 0;
        while (!found && i < cookies.length) {
            if (cookies[i].getName().equals(name)) {
                found = true;
                result = cookies[i].getValue();
            }
            i++;
        }
    }

    return (result);
}

最佳答案

关于 1)“cookie 值的最大长度是多少?”

没有强制的最大值,只是 RFC 2109 中的建议:

User agents created for specific purposes or for limited-capacity devices should provide at least 20 cookies of 4096 bytes, to ensure that the user can interact with a session-based origin server.

请记住,每次端点通信时都会传输 cookie。

至于在客户端存储较大的值,dojox.storage我想到了(虽然这是 javascript,但它显示了他们解决这个普遍问题的方法)。他们抽象了在客户端内存储大量数据的各种不兼容的方式 - 例如通过使用可用的之一

  • AirDBStorageProvider,
  • AirEncryptedLocalStorageProvider,
  • AirFileStorageProvider,
  • FlashStorageProvider,
  • GearsStorageProvider,
  • 什么WGStorageProvider。

如果您可以控制客户端,则可以使用 localstorage 走 HTML5 路线。 ,最多提供5MB的本地客户端空间。

最后一个想法:压缩或编码存储的数据,或者将其拆分,以便服务器可以接管一些实际值,而您只在客户端中存储 key (这反过来会增加更多连接)当然,整个事情的开销)。

关于java - Tomcat : Cookies length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716388/

相关文章:

java - 消息队列中作业的唯一 ID?

java - 输入标签无法正常使用 JQuery Ajax

java - 我如何从Struts逻辑: iterate tag in variable获取值(value)

java - 使用 IntelliJ IDEA 调试时如何解析 JSP 中的 Spring 模型变量?

javascript Cookie 每 24 小时在窗口打开代码中不起作用

java - 使用掩码读取 int 的未知方式

java - 无法执行 postMethod : Javax.net.ssl.SslException:被 CRL 撤销

java - JSP java io 文件的最后修改日期是纪元,尽管在 FTP 中文件日期是昨天 - tomcat6

c# - OnValidateIdentity ASP.NET Identity 如何工作

javascript - 如何使用 jQuery 设置/取消设置 cookie?