web-dev-qa-db-ja.com

ダウンロードはいつ登録されますか?

Google画像で画像を表示しているときに、誤って「名前を付けて画像を保存」または「画像を表示」(何らかの理由でダウンロードを要求されることもあります)をクリックしてしまう可能性があります。次に、このファイルをダウンロードするかどうかを尋ねるウィンドウが開きます。ただし、何かが保存される前にキャンセルした場合でも、これは「サーバー」側からのダウンロードと見なされますか?私はこのトピックにそれほど精通していないので、「サーバー」の私の使用は、エンティティが上記のアクティビティを記録/保存する可能性があるものをすべてカバーしています。

21
Felix R

サーバー側から見ると、「ブラウザウィンドウで表示するために転送する」と「ストレージにダウンロードする」には技術的な違いがありますno

おそらく、サーバーはダウンロード用に(小さい)プレビューと(大きい)実画像を提供し、アクセスされたものを区別できます。ただし、これらのファイルへのアクセス、要求元のIPアドレス、ブラウザソフトウェアの一般的な「ID文字列」のみを登録(およびログ)できます-ではありませんクライアント。

しかし、ファイルアクセスは常に常にクライアントコンピュータとの人間の対話の結果ではありません。一方、ブラウザは、「名前を付けて画像を保存」を使用しなくても、システムに画像やその他のウェブサイトのデータを保存します。一方、多くのブラウザでは、ナビゲーションを高速化するために、「リンクをたどる」(つまり、ダウンロードする!)事前ですらあります。これらのファイルに故意にアクセスしたことがない場合でも、ブラウザキャッシュはそのようにローカルバックアップに入るかもしれません!

最後に、「名前を付けて保存」を使用してキャンセル(宛先ファイル名を選択しない)すると、使用しているブラウザの実装に応じて、ダウンロードが開始される場合とされない場合があります。

52
jvb

私はこのトピックにそれほど精通していないので、「サーバー」の私の使用は、エンティティが上記のアクティビティを記録/監視/保存する可能性のあるものをすべてカバーしています。

HTTPサーバーにはキャンセルされたダウンロードは表示されませんが、そのようなイベントを監視するページにJavaScriptコードが含まれている可能性があります。

JavaScriptには、画像の右クリックを検出するために使用できるイベントハンドラーがあり、他のマウスの動きを監視して、ポップアップメニューから何を選択するかを推測できる可能性が高いです。その後、スクリプトはすぐに情報をサーバーに簡単に送信したり、ローカルのブラウザーストレージに保存して後で送信したりできます。

Google画像検索の特定のケースでは、そのページのJavaScriptには、マウスイベントをリッスンする複数のハンドラがあります。ただし、コードは難読化されているため、どのような監視を行っているのかを簡単に判断することはできません。

7
jpa

これはサーバーに依存します。

サーバーは、ダウンロードが開始されると登録できるようになります(考えてみてください。名前を提案するため、サーバーは知っておく必要があります)。

サーバーは、転送されたバイト数、および接続が閉じられたかどうか、いつ閉じられたかを追跡することもできます。これにより、dirwnloadが完了したかどうかを確認できます。

再開されたダウンロードやマルチスレッドのダウンロードのような他の可能性もありますが、サーバーはこれをすべて認識して記録することができます。

画像を右クリックしてダウンロードする特定のケースでは、クライアント側のキャッシュのために、ダウンロードがダウンロードとしてまったく登録されない可能性があることに注意してください。

6
davidgo

保存する前にキャンセルした場合、「サーバー」はこれをダウンロードとして通知/記録しますか?

ダウンロードが開始されていないため、リモートサーバーはダウンロードアクティビティに気付かないはずです。

ただし、リモートサーバー画像がすでにダウンロードされていることを認識していますブラウザーに表示するために...そしてコピーはブラウザーのキャッシュにあります...

ローカルマシンを直接監視する「エンティティ」は、そのアクティビティに関する何かを記録する可能性があります。

4
DavidPostill