Wenn Sie Bilder auf Google-Bildern anzeigen, klicken Sie möglicherweise versehentlich auf "Bild speichern unter" oder "Bild anzeigen" (was manchmal auch zum Herunterladen auffordert). Daraufhin wird ein Fenster geöffnet, in dem Sie gefragt werden, ob Sie die Datei herunterladen möchten. Wenn Sie jedoch abbrechen, bevor etwas gespeichert wird, wird dies immer noch als Download von der "Server" -Seite angesehen? Da ich mich in diesem Thema nicht so gut auskenne, deckt meine Verwendung von "Server" nur die Entität ab, die diese Aktivität aufzeichnen / speichern könnte.
21
Antworten:
Vom Server aus gesehen gibt es absolut keinen technischen Unterschied zwischen "Übertragen zur Anzeige in einem Browserfenster" und "Herunterladen zur Speicherung".
Möglicherweise stellt ein Server eine (kleinere) Vorschau und das (größere) Originalbild zum Download bereit und kann unterscheiden, auf welches Bild zugegriffen wurde. Es kann jedoch nur den Zugriff auf diese Dateien registrieren (und protokollieren), die IP-Adresse, von der die Anforderung stammt, eine generische "ID-Zeichenfolge" der Browsersoftware - nicht die Absicht eines Clients.
Der Dateizugriff ist jedoch nicht immer auf die menschliche Interaktion mit einem Client-Computer zurückzuführen. Einerseits speichern Browser Bilder und andere Website-Daten auf Ihrem System, auch wenn Sie nicht "Bild speichern unter ..." verwenden. Auf der anderen Seite "folgen" viele Browser sogar im Voraus den Links (das heißt: Dinge herunterladen!) , Um die Navigation zu beschleunigen. Der Browser-Cache kann auf diese Weise sogar in Ihr lokales Backup gelangen, selbst wenn Sie nie absichtlich auf diese Dateien zugegriffen haben!
Wenn Sie "Speichern unter" verwenden und den Vorgang abbrechen (ohne einen Zieldateinamen auszuwählen), wird möglicherweise ein Download ausgelöst, je nachdem, welche Implementierung des Browsers Sie verwenden.
quelle
Content-Disposition
HTTP-Header geben :inline
Zeigt eine Ansicht im Browser an,attachment
einen Download.curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null
;)Während der HTTP-Server den abgebrochenen Download nicht sieht, befindet sich möglicherweise Javascript-Code auf der Seite, die solche Ereignisse überwacht.
JavaScript verfügt über Ereignisbehandlungsroutinen, mit denen ein Rechtsklick auf das Bild erkannt werden kann, und es ist sehr wahrscheinlich, dass andere Mausbewegungen überwacht werden können, um zu erraten, welche Auswahl Sie im Popup-Menü treffen. Danach kann das Skript die Informationen problemlos sofort an den Server senden oder im lokalen Browserspeicher speichern und später senden.
In dem speziellen Fall der Google-Bildersuche haben die Javascript auf dieser Seite mehrere Handler, die die Mausereignisse abhören. Da der Code jedoch verschleiert ist, ist es nicht einfach zu sagen, welche Art von Überwachung er ausführt.
quelle
HEAD
HTTP-Anforderung anstelle einerGET
.Dies ist serverabhängig.
Der Server kann sich registrieren, wenn der Download gestartet wird (denken Sie darüber nach, er muss es wissen, weil er einen Namen vorschlägt).
Der Server kann auch nachverfolgen, wie viele Bytes übertragen wurden und ob / wann die Verbindung geschlossen wurde. Dies kann anzeigen, ob der Download abgeschlossen ist.
Es gibt auch andere Möglichkeiten wie wieder aufgenommene Downloads und Multithread-Downloads - aber auch hier könnte der Server all dies wissen und aufzeichnen.
Beachten Sie, dass im speziellen Fall des Rechtsklickens und Herunterladens eines Bildes der Download aufgrund des clientseitigen Zwischenspeicherns möglicherweise überhaupt nicht als Download registriert wird.
quelle
Content-Disposition: attachment; filename="…"
so dass der Browser zeigt die Download - Aufforderung, dann auch bei Aufhebung der Download - Server über die Anfrage informiert werden - und wahrscheinlich sogar unterscheiden kann , dass der Download abgebrochen wurde.Wenn ... Sie abbrechen, bevor etwas gespeichert wird, merkt sich der "Server" dies als Download?
Ein Remote-Server sollte keine Download-Aktivität bemerken, da kein Download gestartet wurde.
Ein Remote-Server weiß jedoch, dass Sie das Bild bereits heruntergeladen haben , um es in Ihrem Browser anzuzeigen ... und eine Kopie befindet sich in Ihrem Browser-Cache ...
Jede "Entität", die Ihren lokalen Computer direkt überwacht, könnte etwas in Bezug auf diese Aktivität aufzeichnen.
quelle
Content-Disposition
Header enthält den tatsächlichen Dateinamen.Content-Disposition
Header überschrieben werden (bereits einige Male erwähnt), was bedeutet, dass zuerst eine Anfrage gestellt werden muss . Darüber hinaus können und können Browser den Nutzdaten-Download starten, bevor Sie ein Zielverzeichnis ausgewählt haben.