首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Tomcat 6中禁用传输编码

如何在Tomcat 6中禁用传输编码
EN

Stack Overflow用户
提问于 2011-06-09 21:19:06
回答 3查看 21.7K关注 0票数 13

我在Tomcat 6.0.29服务器和JDK 1.6上运行了一个web应用程序。

当我向客户端发送响应时,Tomcat将

代码语言:javascript
运行
复制
Transfer-Encoding: chunked 

在响应大小> 8KB的标题中。对于< 8KB的响应,它发送

代码语言:javascript
运行
复制
Content-Length : 

我知道Chunked encoding是处理批量响应的首选方法,但是我们的客户端不想更改他们的代码(因为它分布在所有服务器上)。

如何禁用Tomcat中的块编码?

我可以在Tomcat中禁用HTTP/1.1并启用HTTP/1.0 (不确定如何做到这一点)

我尝试了以下几项,但没有成功:

  1. In Connector标记在server.xml中,我设置了bufferSize =" 65536"

连接器port="8080“protocol="HTTP/1.1”connectionTimeout=20000“bufferSize="65536”socketBuffer="65536“redirectPort="8443”/>

  • “使用NIOConnector in server.xml,配置如下:
EN

回答 3

Stack Overflow用户

发布于 2011-10-26 16:39:55

我能让它工作的唯一方法是在响应上设置BufferSize。

response.setBufferSize()设置响应大小的Content-Length头。一旦响应大小超出了bufferSize,它将返回到Transfer-Encoding: Chunked。缓冲区大小应设置为适当的值。将其设置为更高的值将在刷新它之前缓冲内存中的所有响应。因此,应该将该值设置为乐观大小。

我的客户端很少依赖于Content-Length响应头。我必须将其设置为向后兼容性。默认情况下,Tomcat缓冲区大小设置为8K (我认为对于Weblogic/Websphere,这是32K字节)。

票数 8
EN

Stack Overflow用户

发布于 2011-10-24 20:01:07

据我所知,要禁用Tomcat中的块输出,您必须在servlet中提供一个内容长度头。

票数 3
EN

Stack Overflow用户

发布于 2015-02-28 21:22:38

向响应添加一个连接:关闭报头,可以防止Tomcat添加传输-编码:块头。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6299432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档