Как отключить кодирование передачи: фрагментированная веб-сфера

У нас есть веб-служба, работающая в Websphere 6.1 с использованием веб-служб на основе IBM JAX-RPC. Клиент отправляет запросы без HTTP-заголовка transfer-encoding:chunked (они указывают длину содержимого). Ответ от websphere всегда имеет кодировку передачи: в заголовке HTTP. Я предполагаю, что это приведет к тому, что ответ будет отправлен несколькими фрагментами. В системе, где инициатор запроса службы и поставщик службы разделены множеством посредников (таких как брандмауэры и балансировщики нагрузки (T1/F5)) такое разделение может привести к значительной задержке.

Этот ссылка и эта ссылка говорить о разбивке запроса, но ничего не упоминать в ответе.

Есть ли способ настроить веб-сферу, чтобы не добавлять кодировку передачи: в ответ заголовка HTTP?


person zkarthik    schedule 10.09.2009    source источник


Ответы (2)


В веб-сфере размер фрагмента контролируется «Размером буфера записи» в транспортной цепочке входящего канала веб-контейнера. Из их документации:


Если для обработки ответов клиенту требуется несколько операций записи, измените значение, указанное для параметра Размер буфера записи, на значение, более подходящее для ваших клиентов. Параметр Размер буфера записи управляет максимальным объемом данных на поток, который веб-контейнер буферизует перед отправкой запроса на обработку. Значение по умолчанию — 32768 байт, что достаточно для большинства приложений. Если размер ответа превышает размер буфера записи, ответ разбивается на фрагменты и записывается обратно за несколько операций записи TCP.

person zkarthik    schedule 17.09.2009

Я не думаю, что вы можете настроить Websphere для этого, но, кроме того, это не имеет значения. Я рекомендую прочитать, что RFC 2616 говорит о фрагментированном кодировании; он не делает то, что вы думаете.

person Julian Reschke    schedule 10.09.2009
comment
Цитата из определения RFC 2616: фрагментированное кодирование изменяет тело сообщения, чтобы передать его в виде серии фрагментов... . Разве это не означает, что ответ отправляется несколькими порциями? - person zkarthik; 11.09.2009