我们使用基于IBM JAX-RPC的Web服务在Websphere 6.1上运行Web服务。客户端发送的请求没有transfer-encoding的HTTP头:chunked(它们指定content-length)。来自websphere的响应始终具有transfer-encoding:在HTTP标头中分块。我认为这将导致响应以多个块发送。在服务请求者和服务提供者被许多中介(例如防火墙和负载均衡器(T1 / F5))分开的系统中,这种分块可能导致显着的延迟。

link 链接谈论请求分块,但没有提及任何响应。

有没有办法配置websphere以不在HTTP标头的响应中添加transfer-encoding:chunked?

有帮助吗?

解决方案

在websphere中,块大小由“写入缓冲区大小”控制。在Web容器入站通道的传输链中。从他们的文件:


如果需要多次写入来处理对客户端的响应,请将为Write buffer size参数指定的值更改为更适合客户端的值。 Write buffer size参数控制Web容器在发送请求以进行处理之前缓冲的每个线程的最大数据量。默认值为32768字节,足以满足大多数应用程序的需要。如果响应的大小大于写缓冲区的大小,则响应将被分块并以多次TCP写入的方式写回。

其他提示

我认为您不能将Websphere配置为这样做,但此外,它并不重要。我建议阅读RFC 2616关于分块编码的内容;它没有按照你的想法做到。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top