web-dev-qa-db-ja.com

Apacheが同じURLに対して異なる応答サイズをログに記録するのはなぜですか?

いくつかの(表面上は)無害なログエントリに気づきました。そして、これを1マイルも考えすぎていることは確かですが、Apache2の応答サイズに興味を持ちました。

このウクライナのクローラー†が私のWebデーモンにヒットし、2秒後に複製を要求しました。 Apache2は41,298バイト、次に41,244バイトで応答しました。

私の質問は:
同じURLで応答サイズが異なるのはなぜですか-54バイト-だけですか?

Apacheのデフォルトのキャッシュ宣言をカスタマイズしていません。何かがキャッシュされた場合は、要求されたコンテンツの100%近く(または少なくとも0.01%以上)の差異が予想されます。

私が考えることができるのは小さなファイル(小さなGIFまたは.cssファイル?)だけです。これは不可解にもキャッシュされる唯一のコンポーネントですが、そのサイズのファイルを検索しても結果は得られませんでした。

find . -type f -size -55c -size +53c

... 53または55を検索すると、小さな.GIFファイルが見つかり、数バイト拡張すると、さらに多くの結果が得られます。これを拡大 仮定 推測すると、「欠落している」応答データはファイルである可能性がありますandそれぞれのパス-しかし、それは私がどのように反しているようです思考キャッシングは機能します。

ここには何が表示されていますか?


補助
2つのエントリだけです:

# grep -r 46.119.77.28 /var/log
/var/log/Apache2/example.com-access.log:46.119.77.28 - - [26/Apr/2020:19:56:20 -0600] "GET / HTTP/1.0" 200 41298 "http://www.example.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64 (Edition Yx)"
/var/log/Apache2/example.com-access.log:46.119.77.28 - - [26/Apr/2020:19:56:22 -0600] "GET / HTTP/1.0" 200 41244 "http://www.example.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64 (Edition Yx)"

†9時間ほど前に他のサーバーの1つにヒットし、その後すぐに別のサーバーにヒットしました。積極的に脆弱性を探しているわけではありませんが、明らかにWebをクロールしているため、原則としてブロックしました。米国外でインデックスを作成する必要はありません。

1
zedmelon

wiresharkまたはtcpdumpを試して、ネットワークトラフィックをキャプチャします。両方の応答を見て違いを見つけるのに十分簡単なはずです。

おそらく応答ヘッダーがわずかに変化している可能性があります。一部のヘッダーは、クライアントと時間によって異なります。

2
user5994461