4

ユーザーがApacheWebサーバーから大きなファイルを要求したが、完了する前にダウンロードをキャンセルした場合、これはApacheによってログに記録されますか?

どの応答が完全に送信されなかったか、および何バイトが送信されたかをログファイルから知ることができますか?

4

2 に答える 2

5

はい、それらのリクエストをログに記録しますが、送信された実際のバイトを知るにはmod_logioを使用する必要があります。そうしないと、ファイルの合計バイト数が表示されます。そして、どちらが失敗したかを知るには、次のいずれかを行う必要があります。

  • %X形式の修飾子を使用し、カスタムログ形式を使用します
  • 送信された実際のバイトをファイルのサイズと比較します(最初のオプションがある場合はなぜですか:-))
于 2008-11-27T10:51:42.997 に答える
-1

はい。正しく覚えていれば、ダウンロードが中断される前に転送されたバイト数が表示されます。次に、その要求に対して送信されるべきバイト数を計算して比較することができます。

PHPを使用している場合(質問は1分前に​​タグ付けされているため)、おそらく、ファイルを小さなビットにチャンクアウトする、ある種の応答バッファーを実行できます。送信する必要のあるチャンクの数を計算することから始め、ログを(dbまたはsyslogに)書き込み、開始したことを示し、最後のチャンクに到達したら、別のチャンクを終了したことを示します(または最初のチャンクを削除します)。 )。

于 2008-11-27T10:49:47.230 に答える