Ich habe eine POST-Anforderung an eine HTTP-Site (Nicht-HTTPS) gesendet, die Anforderung in den Entwicklertools von Chrome überprüft und festgestellt, dass sie einen eigenen Header hinzugefügt hat, bevor sie an den Server gesendet wurde:
Upgrade-Insecure-Requests: 1
Nach einer Suche am Upgrade-Insecure-Requests
kann ich nur Informationen über den Server finden, der diesen Header sendet :
Content-Security-Policy: upgrade-insecure-requests
Dies scheint verwandt zu sein, ist aber immer noch sehr unterschiedlich, da in meinem Fall der CLIENT den Header in der Anfrage sendet , während alle Informationen, die ich gefunden habe, den SERVER betreffen, der den zugehörigen Header in einer Antwort sendet .
Warum fügt Chrome (44.0.2403.130 m) Upgrade-Insecure-Requests
meiner Anfrage hinzu und was macht es?
Update 24.08.2016:
Dieser Header wurde inzwischen als W3C-Kandidatenempfehlung hinzugefügt und ist nun offiziell anerkannt.
Für diejenigen, die gerade auf diese Frage gestoßen sind und verwirrt sind, erklärt die ausgezeichnete Antwort von Simon East sie gut.
Der Upgrade-Insecure-Requests: 1
Header befand sich früher HTTPS: 1
im vorherigen W3C-Arbeitsentwurf und wurde von Chrome stillschweigend umbenannt, bevor die Änderung offiziell akzeptiert wurde.
(Diese Frage wurde während dieses Übergangs gestellt, als es keine offizielle Dokumentation zu diesem Header gab und Chrome der einzige Browser war, der diesen Header gesendet hat.)
quelle
Antworten:
Kurze Antwort: Sie hängt eng mit dem
Content-Security-Policy: upgrade-insecure-requests
Antwortheader zusammen und zeigt an, dass der Browser dies unterstützt (und es tatsächlich bevorzugt).Ich brauchte 30 Minuten zum Googeln, fand es aber schließlich in der W3-Spezifikation begraben.
Die Verwirrung entsteht, weil der Header in der Spezifikation lautete
HTTPS: 1
und Chromium dies so implementierte. Nachdem jedoch viele schlecht codierte Websites (insbesondere WordPress und WooCommerce) beschädigt wurden, entschuldigte sich das Chromium-Team:Ihr Fix bestand darin, es in umzubenennen
Upgrade-Insecure-Requests: 1
, und die Spezifikation wurde seitdem entsprechend aktualisiert.Wie auch immer, hier ist die Erklärung aus der W3-Spezifikation (wie sie damals erschien) ...
quelle
a.com
und leite Sie weiterb.com
, während Sie diesen Header bereitstellenb.com
und einige Informationen senden. Wenn Sie sich nicht unter einem sicheren Kanal befindenb.com
, kann es bereits zu einem Schnüffelangriff kommen, da ichb.com
neben meiner Anfrage Daten an gesendet habe . Können Sie uns zu einem einfachen Szenario führen, wie Verbindungen für Benutzer sicherer werden?Das erklärt das Ganze:
Quelle: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests
quelle