Как изменить ответный заголовок Tomcat с помощью клапанов?
Мне нужно минимизировать заголовок ответа Tomcat. Устройство, отправляющее запросы в tomcat, очень ограничено в памяти, поэтому я хочу удалить заголовки Date, Server и Content-Type. Я установил свой собственный клапан с крючком действия. Хук вызывается, но кажется невозможным удалить дату и заголовок сервера.
Сначала я выполнил свой метод только тогда, когда ActionCode == COMMIT
- не сработало. Странный. Итак, я посмотрел в исходном коде Tomcat: в методе action() Tomcat's AbstractHttp11Processor
когда ActionCode==COMMIT
prepareResponse()
называется (который устанавливает сервер и заголовки даты), а затем- он записывает заголовки в выходной буфер.
Так что перехватить невозможно. Когда я устанавливаю заголовки до вызова этого действия, они перезаписываются в AbstractHttp11Processor
, Когда я установлю заголовки после этого, они будут игнорироваться, так как они уже были записаны в буфер. Кажется, мой единственный шанс - сбросить выходной буфер и записать заголовки в буфер, или есть лучший способ? И возможно ли это сделать?
1 ответ
Заголовок даты не может быть удален. Это требуется спецификацией HTTP 1.1. См. RFC2626, раздел 14.18.
В настоящее время нет способа отключить заголовок сервера, но если вы откроете запрос на улучшение для Tomcat, я посмотрю на добавление опции, чтобы полностью отключить его.