【问题标题】:Maximum URI length in Grizzly (GlassFish) and TomcatGrizzly (GlassFish) 和 Tomcat 中的最大 URI 长度
【发布时间】:2011-01-05 00:58:24
【问题描述】:

Tomcat 和 Grizzly (GlassFish 3) 中的 URI 是否有最大长度(不是默认值)?

我想创建一个应该能够接收大型 GET 请求的 RESTful API。

【问题讨论】:

    标签: java configuration tomcat glassfish grizzly


    【解决方案1】:

    在 Tomcat 中,它可以配置为 server.xmlHTTP connector 元素的 maxHttpHeaderSize 属性。其默认值为 8192 字节 (8KB)。这大约是相同数量的未编码 ASCII 字符。由于 Glassfish v3 在后台使用 Tomcat,因此配置设置是相同的。 Grizzly 只是一个 HTTP 连接器实现,可以在 Glassfish 和 Tomcat 中使用。抽象配置不应依赖于使用的 HTTP 连接器实现。

    也就是说,还有另一个限制需要考虑,即客户端/代理端的限制。甚至 HTTP 1.1 规范都对此提出警告,这是chapter 3.2.1 的摘录:

    注意:服务器应该谨慎对待取决于 URI 长度 超过 255 字节,因为一些较旧的客户端或代理 实现可能无法正确支持这些长度。

    限制在 MSIE 和 Safari 中约为 2KB,在 Opera 中约为 4KB,在 Firefox 中约为 8KB。因此,我们可以假设 8KB 是最大可能长度,而 2KB 是在服务器端依赖的更实惠的长度,而 255 字节是假设整个 URL 都会进入的最安全长度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多