X-Pad: избегайте заголовка ошибки браузера, добавленного apache

Я вижу этот заголовок, добавленный к ответу от apache. Имеет ли это значение в браузерах нового возраста; или он просто там, чтобы обойти ошибку в более старых версиях Netscape. Кажется странным.

ИЗМЕНИТЬ

Я выполнял тестирование производительности в нашем приложении, когда увидел, что в тексте ответа Jmeter появился этот странный заголовок, который возвращается. Он сказал:

X-pad: avoid browser bug

Вот оно! Поэтому я пробовал некоторые поисковые запросы, и казалось, что заголовок добавлен для ошибки браузеров Netscape. Во всяком случае, мне все еще интересно, что, поскольку мы так далеки от этих версий браузера (к счастью), есть веская причина, что он все еще там. Мы используем apache2.

Надеемся, эти детали помогут.

Приветствия

Ответ 1

Нет, теперь это рудиментарный заголовок; то есть, он был помещен туда, чтобы найти ошибку в браузере, который устарел (несколько поколений старше IE6 - ошибка была зафиксирована с 1997 года, 15 лет назад!), и никто больше ее не использует.

Патч для его удаления находится в Apache SVN с 2008 года, но, по-видимому, он до сих пор не распространяется на все дистрибутивы (плюс некоторые сайты могут используйте неактивные версии Apache).

Здесь комментарий к заголовку, полученный из источника:

/* Navigator versions 2.x, 3.x and 4.0 betas up to and including 4.0b2
 * have a header parsing bug.  If the terminating \r\n occur starting
 * at offset 256, 257 or 258 of output then it will not properly parse
 * the headers.  Curiously it doesn't exhibit this problem at 512, 513.
 * We are guessing that this is because their initial read of a new request
 * uses a 256 byte buffer, and subsequent reads use a larger buffer.
 * So the problem might exist at different offsets as well.
 *
 * This should also work on keepalive connections assuming they use the
 * same small buffer for the first read of each new request.
 *
 * At any rate, we check the bytes written so far and, if we are about to
 * tickle the bug, we instead insert a bogus padding header.  Since the bug
 * manifests as a broken image in Navigator, users blame the server.  :(
 * It is more expensive to check the User-Agent than it is to just add the
 * bytes, so we haven't used the BrowserMatch feature here.
 */

Ответ 2

Я знаю, что ответ принят, но все же я думаю, что это было бы полезно для пользователей, работающих под управлением php.
Если вы являетесь пользователем php и получаете этот заголовок. Вы можете отключить его, используя пользовательский заголовок" X-Powered-By ".
Пример:
header('X-Powered-By: Powerful Management'); вы также можете удалить его так
header_remove('X-Pad');, иногда установка этого пустого поля также удаляет его:
header('X-Pad:')
и bam заголовок вашего X-Pad исчезнет