Chrome zeigt keine OPTIONS-Anforderungen auf der Registerkarte "Netzwerk" an

82

Meine Webclient-Anwendung setzt HTTP-POST-Anforderungen über die Abruf-API.

Ich sehe, dass OPTIONS-Preflight-Anforderungen über den Debugging-Proxy (Charles Proxy) gesendet werden, aber nicht auf der Registerkarte Google Chrome Developer Tools \ Network angezeigt werden.

Auf der Registerkarte "Netzwerk" sind keine Filter eingerichtet. Ich erinnere mich, dass OPTIONS-Anfragen dort sichtbar waren, aber nicht mehr. Wie bringe ich sie zurück?

Ubeogesh
quelle

Antworten:

145

Sie müssen zu: gehen chrome://flags/#out-of-blink-cors, das Flag deaktivieren und Chrome neu starten.

Dies ist eine erwartete Verhaltensänderung gemäß:
https://bugs.chromium.org/p/chromium/issues/detail?id=995740#c1

Ich bin ursprünglich auf Folgendes gestoßen:
https://support.google.com/chrome/thread/11089651?hl=de

jms
quelle
3
Das hat funktioniert. Aber ich konnte auf den verlinkten Seiten nicht finden, was diese "Out-of-Blink-Cors" -Einstellung bewirkt. Blink ist der Name des Chrommotors - also welche Komponente hat cors anstelle davon? Und was hat sich für normale Websites, die keine Chrome-Erweiterungen sind, effektiv geändert?
Ubeogesh
Ich würde mir vorstellen, dass das Handling von Cors in den Motor verlagert wurde - eine niedrigere Ebene, auf die devtools Zugriff hat. Sie können diese Optimierung jedoch deaktivieren.
George Mauer
24
Dieses Verhalten wird das Leben von Neulingen so viel schwieriger machen. Dies verbirgt im Grunde die Antwort auf Fehler.
Claudio Holanda
Chrome 79+ zeigt keine Preflight-CORS-Anforderungen mehr an. Sie können zum Beispiel Firefox verwenden, um es zu sehen.
mkupiniak
2
Gute Nachrichten vom Chrome-Implementierer, der an dem zugehörigen Code gearbeitet hat: Siehe die Antwort unter stackoverflow.com/a/62590759/441757 „Chrome 83 implementiert die CORS-Preflight-DevTools-Unterstützung erneut auf sicherheitsrelevante Weise. So können Sie die CORS-Preflight-Anforderungen wie vor dem Out-Of-Blink- / Renderer-CORS überwachen “
Sideshowbarker
17

Chrome 81 scheint auch nach dem Ändern der Option und dem Neustart auf meinem Computer nichts anzuzeigen.

Als alternative Lösung habe ich begonnen, Firefox und die Registerkarte Netzwerk für die Entwicklung zu verwenden.

Geben Sie hier die Bildbeschreibung ein

https://getfirefox.com

Mikko Ohtamaa
quelle
1
Ich verwende Chrome 81 und ändere das Flag, wie von jms vorgeschlagen .
Gustavo Straube
@GustavoStraube Hmmm. Sind Sie auf welchem ​​Betriebssystem?
Mikko Ohtamaa
MacOS Mojave (10.14.6)
Gustavo Straube
1
Ich habe dieses Verhalten beim Testen einer Site hinter der grundlegenden http-Authentifizierung festgestellt. Selbst wenn Sie auf einer anderen Registerkarte angemeldet sind, schlägt die Preflight-Anforderung immer fehl (v84)
koosa
7

Ich bin Takashi vom Chromium Project und habe das Out-Of-Blink / Render CORS-Projekt geleitet.

Das Projekt beabsichtigte, eine prozessisolierte CORS-Implementierung für mehr Sicherheit und Datenschutz einzuführen, und viele neue netzwerkbezogene Funktionen basieren auf dieser neuen Implementierung. Leider haben wir die Preflight-Unterstützung in DevTools vorübergehend deaktiviert, da sich herausstellte, dass die weitere Unterstützung die Sicherheit und den Datenschutz schwächt. Entschuldigen Sie die Unannehmlichkeiten in dieser Zeit.

Die gute Nachricht ist nun, dass Chrome 83 die CORS Preflight DevTools-Unterstützung wieder sicherheitsbewusst implementiert. So können Sie die CORS-Preflight-Anforderungen wie vor dem Out-Of-Blink / Renderer-CORS überwachen.

Beste,

Takashi Toyoshima
quelle
6
Ich verwende das neueste Chrome unter MacOS und sehe die OPTIONEN im Netzwerkinspektor immer noch nicht. Hilfe?
Miguel Ribeiro
2
Chrome 83.0.4103.116 (Mac OS) - Im Netzwerkfenster sind noch keine Informationen vor dem Flug sichtbar. Gibt es eine Flagge, die aktiviert werden muss?
EK0
4
Chrome 83.0.4103.116 (Official Build) (64-Bit) auf MacOs zeigt auch für mich immer noch keinen Vorflug an. Und die experimentelle Out-of-Blink-Cors-Option ist nicht mehr verfügbar.
Ben K
1
Können Sie die folgende Seite ausprobieren? yuri.twintail.org/chrome/cors/preflight.html 1) Öffnen Sie DevTools. 2) Klicken Sie auf die Schaltfläche " Cors abrufen lassen". 3) Sie sehen zwei Anforderungen für 918322_21.cgi, eine schlägt fehl und die andere ist 200 für den Preflight. Hinweis: Wenn die Anforderung den CORS-Preflight-Cache erreicht, wird nichts angezeigt, da Chrome den Preflight nicht sendet. Die Option "Cache deaktivieren" in den DevTools soll dieses Problem mindern, da der Preflight-Cache mit dieser Option ebenfalls deaktiviert wird.
Takashi Toyoshima
11
Bei Chrome 84 / Win10 werden OPTIONS-Anforderungen auf der Registerkarte "Netzwerk" angezeigt, wenn Sie den Filter "Alle" auswählen, nicht jedoch, wenn Sie den Filter "XHR" auswählen. Was ärgerlich ist, weil ich dann Dutzende anderer Anfragen durchgehen muss, die mir egal sind. Irgendeine Idee, warum du sie nicht an beiden Orten zeigen kannst?
Chris Tybur