Wann wird ein Download als solcher registriert?

21

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.

Felix R
quelle
4
Von wem als solches registriert? Viele Log-Analyse-Programme (zB awstats, goaccess) betrachten das Herunterladen von Dateien mit einem bestimmten Suffix (.zip, .pdf ...). Die Liste der Erweiterungen ist normalerweise konfigurierbar. Andere Software verwendet möglicherweise andere Ansätze.
14.

Antworten:

52

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.

jvb
quelle
12
Heck: "save as" kann einen Download starten oder auch nicht, unabhängig davon, ob er abgebrochen wird - wenn der Browser das Bild bereits hat, warum sollte er es erneut vom Server anfordern ("no cache" -Hinweise und so weiter).
14.
6
Tatsächlich kann es einen Unterschied in Bezug auf den Content-DispositionHTTP-Header geben : inlineZeigt eine Ansicht im Browser an, attachmenteinen Download.
Uwe Keim
13
@UweKeim es ist eigentlich ein Hinweis vom Server. Normalerweise würde der Browser dem folgen, aber der Server kann nicht beurteilen, ob der Client tatsächlich ein Browser ist oder ob er diesen Header respektiert. curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null;)
ElmoVanKielmo
1
... und um zu zeigen, dass es mehr als theoretisch ist, ziehen Sie PDFs in Betracht. In der Vergangenheit wurden diese von Browsern als Downloads behandelt, moderne Browser können sie jedoch direkt anzeigen.
MSalters
1
Der Browser startet einen Download, es sei denn, diese URL usw. befindet sich bereits im Cache des Browsers. Andernfalls kann der Browser nicht erkennen, wie der Dateiname lauten könnte, um welchen Dokumenttyp es sich handelt oder ob Dateiinhalte gespeichert werden müssen. Der Browser wird eine Art von Anfrage an den Server ausgeben, und der Server wird „zählen“ , dass aber es will.
Christopher Schultz
7

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 / beobachten / speichern könnte.

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.

jpa
quelle
1
"Ziel speichern unter" kontaktiert normalerweise den Server, um den Dateinamen, den Typ und die Größe abzurufen. Möglicherweise mit einer HEADHTTP-Anforderung anstelle einer GET.
Ben Voigt
@BenVoigt gibt es einen großen Unterschied zwischen "Ziel speichern unter" und "Bild speichern unter". Eine für Links, die andere für Bilder, die bereits sichtbar sind und daher schon einmal heruntergeladen wurden.
Josef
@Josef: Stimmt, aber ich sehe in der Frage nichts, was darauf hinweist, dass OP sich auf Inhalte beschränken möchte, die sich bereits im Cache befinden. Tatsächlich sehe ich einen starken gegenteiligen Hinweis in der Formulierung "Abbrechen, bevor etwas gespeichert wird".
Ben Voigt
6

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.

Davidgo
quelle
Der Server schlägt keinen Namen vor. Es wurden keine zusätzlichen Netzwerkanforderungen gestellt, als ich mit der rechten Maustaste auf Ihren Avatar klickte und "Bild speichern unter"
auswählte
9
@DavidPostill Hängt davon ab, wie der Download initiiert wird. Wenn Sie einen Link oder Umleitung auf eine Ressource folgen, und der Server antwortet mit , 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.
Bergi
4

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.

DavidPostill
quelle
2
"Speichern unter ..." wird eine Anfrage stellen, nicht wahr? Zum einen muss der Browser wissen, welchen Namen er vorschlagen soll. Die URL kann einfach / download sein, aber der Content-DispositionHeader enthält den tatsächlichen Dateinamen.
Daten
1
@ Daten-Nr. Der Name steht im HTML-Code der heruntergeladenen Seite.
DavidPostill
1
Beachten Sie, dass einige Browser, wie z. B. Chrome, URLs, die auf der von Ihnen besuchten Webseite angezeigt werden, unbedingt vor dem Download bereitstellen und zwischenspeichern.
Tobia Tesan
3
@ DavidPostill Sie sind falsch. Der Name kann durch den Content-DispositionHeader ü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.
Leichtigkeit Rennen mit Monica
6
Jeder mir bekannte Webbrowser startet den Download, sobald Sie auf den Link klicken, und das seit mindestens zwanzig Jahren. Sie warten nicht darauf, dass Sie einen Dateinamen auswählen - sie speichern ihn in einer temporären Datei (oder im Speicher) und benennen ihn um, sobald Sie auf "OK" klicken.
Mark