Ich möchte eine Art Dateiprüfsumme (wie SHA-256-Hash oder irgendetwas anderes) wissen, wenn ich die Datei vom HTTP-Server herunterlade. Es könnte als einer der HTTP-Response-Header übertragen werden.Prüfsumme im HTTP-Antwort-Header - warum nicht?
Http etag
ist etwas Ähnliches, aber es wird nur zum Ungültigmachen des Browser-Caches verwendet und von dem, was ich bemerkt habe, berechnet jede Seite es auf andere Weise und es sieht nicht wie irgendein Hash aus, den ich kenne.
Einige Software-Download-Sites bieten verschiedene Dateiprüfsummen als separate Dateien zum Download (z. B. die neuesten Ubuntu 16.04 SHA1-Hashes: http://releases.ubuntu.com/16.04/SHA1SUMS). Ist es nicht einfacher, sie einfach in den HTTP-Response-Header aufzunehmen und den Browser zu zwingen, sie zu berechnen, wenn der Download endet (und den Benutzer nicht dazu zwingen, dies manuell zu tun).
Ich denke, dass das gesamte HTTP-basierte Internet funktioniert, weil wir das TCP-Protokoll verwenden, das zuverlässig ist und sicherstellt, dass empfangene Bytes genau so sind, wie vom Server gesendet. Aber wenn TCP so "cool" ist, warum überprüfen wir die Datei-Hashes manuell (siehe Beispiel für Ubuntu)? Und viele Dinge können beim Dateidownload fehlschlagen (Beschädigung der Client-/Server-Festplatte, Dateiänderungen auf der Serverseite usw.). Und wenn ich mich nicht irre, könnte alles einfach fixiert werden, indem Dateihash bei Download-Start vorbei ...
Die Frage ist, warum die Prüfsumme nicht in der gleichen HTTP-Antwort wie die Daten geliefert wird. – CodeCaster
Der Teil über SHA1SUMS in der Frage impliziert, dass wir einfach diese Art von Dateien entfernen konnten, was mich dazu brachte, über Sicherheit zu sprechen. Wahrscheinlich hätte ich stattdessen einfach einen Kommentar schreiben sollen: - / –