我们有一个使用基于 IBM JAX-RPC 的网络服务在 Websphere 6.1 上运行的网络服务。客户端发送的请求没有传输编码的 HTTP header :分块(它们指定内容长度)。来自 websphere 的响应始终在 HTTP header 中包含传输编码:分块。我认为这将导致响应以多个 block 的形式发送。在服务请求者和服务提供者被许多中介(如防火墙和负载平衡器 (T1/F5))分隔的系统中,这种分块可能会导致显着的延迟。
这link还有这个link谈论请求分块,但不要提及响应中的任何内容。
有没有办法配置 websphere 不在 HTTP header 的响应中添加传输编码:分块?
最佳答案
在 websphere 中, block 大小由 web 容器入站 channel 的传输链中的“写入缓冲区大小”控制。来自他们的文档:
如果需要多次写入来处理对客户端的响应,请将为写入缓冲区大小参数指定的值更改为更适合您的客户端的值。写入缓冲区大小参数控制 Web 容器在发送请求进行处理之前缓冲的每个线程的最大数据量。默认值为 32768 字节,这对于大多数应用程序来说已经足够了。如果响应的大小大于写入缓冲区的大小,则将响应分块并在多个 TCP 写入中写回。
关于http - 如何禁用传输编码 :chunked websphere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407214/