Как удалить Transfer-Encoding: chunked в ответе HTTP

Я создал конечную точку HTTP (REST в Java, Spring Framework, Apache Tomcat), в которой ответ HTTP имеет заголовок "Transfer-Encoding: chunked". Я не знаю, создан ли он сервлетом или сервером.

Я не хочу, чтобы конечная точка отвечала на этот заголовок. Можно ли заставить его не отправлять этот заголовок?

1 ответ

Возможно, это происходит потому, что ответ больше, чем буфер ответов, поэтому среда выполнения вынуждена сбрасываться до завершения ответа. Поскольку заголовки должны быть отправлены до ответа и Content-Length заголовок неизвестен, он устанавливает Transfer-Encoding: chunked вместо.

Вы можете установить размер выходного буфера для коннектора Tomcat: см. Здесь, атрибут socketBuffer для стандарта и socket.appWriteBufSize для НИО. Это устанавливает размер буфера для всего содержимого сервлета, вероятно, не то, что вы хотите.

Вы можете перехватить определенные URL-адреса, которые требуют больший буфер с фильтром сервлета и использовать response.setBufferSize(NNN),

Другие вопросы по тегам