web-dev-qa-db-ja.com

X-Pad:Apacheによって追加されたブラウザーのバグヘッダーを回避する

Apacheからの応答にこのヘッダーが追加されています。新しい時代のブラウザで何か意味がありますか?または、Netscapeの古いバージョンのバグを回避するためだけのものです。奇妙なようです。

[〜#〜]編集[〜#〜]

私はアプリでパフォーマンステストを行っていましたが、Jmeterの応答テキストにそれが表示されると、この奇妙なヘッダーが返されました。と言いました:

X-pad: avoid browser bug

それでおしまい!だから私はいくつかグーグルを試しました、そしてそれはNetscapeブラウザのバグのために追加されたヘッダーのようでした。とにかく、私はまだ興味があります。これらのバージョンのブラウザーから遠く離れているため(ありがたいことに)、それがまだそこにあるという確かな理由があるのです。 Apache2を使用します。

うまくいけば、これらの詳細が役立つでしょう。

乾杯

42
Priyank

いいえ、それは最近の痕跡的なヘッダーです。つまり、廃止されたブラウザーのバグ(IE6よりも数世代前-バグは15年前の1997年の時点で修正されたと報告されています!)を回避するためにそこに置かれ、誰もそれを使用していません。

それを削除するためのパッチ は2008年以降ApacheのSVNにありますが、まだすべてのディストリビューションに反映されていないようです(さらに、一部のサイトでは更新されていないバージョンの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.
 */

私は答えが受け入れられたことを知っていますが、これはphpを実行しているユーザーに役立つと思います。
phpユーザーで、このヘッダーを取得している場合。カスタムの「X-Powered-By」ヘッダーを使用してオフにすることができます。
例えば:
header('X-Powered-By: Powerful Management');この方法でも削除できます
header_remove('X-Pad');、時々そのヘッダーを空に設定すると、それも削除されます:
header('X-Pad:')
そしてX-Padヘッダーが消えます

3
Steel Brain