Chrome nie wyświetla żądań OPCJI na karcie Sieć

83

Moja aplikacja klienta WWW ustawia żądania HTTP POST za pośrednictwem interfejsu API pobierania.

Widzę, że żądania OPCJI inspekcji wstępnej są wysyłane przez serwer proxy debugowania (serwer proxy Charles), ale nie są wyświetlane na karcie Narzędzia programistyczne Google Chrome \ Sieć.

Nie mam żadnych ustawień filtrów na karcie sieci. Pamiętam, że żądania OPCJI były tam widoczne, ale już ich nie ma. Jak je przywrócić?

Ubeogesh
źródło

Odpowiedzi:

145

Musisz udać się do: chrome://flags/#out-of-blink-cors, wyłączyć flagę i uruchom ponownie Chrome.

Jest to oczekiwana zmiana zachowania według:
https://bugs.chromium.org/p/chromium/issues/detail?id=995740#c1

Pierwotnie trafiłem na to przez:
https://support.google.com/chrome/thread/11089651?hl=en

jms
źródło
3
To zadziałało. Ale nie mogłem znaleźć na połączonych stronach, co robi to ustawienie „bez mrugnięcia okiem”. Mrugnięcie to nazwa silnika chrome - więc jaki komponent robi zamiast niego cors? A co skutecznie zmieniło się w przypadku zwykłych witryn internetowych, które nie są rozszerzeniami Chrome?
Ubeogesh
Wyobrażam sobie, że obsługa corsów została przeniesiona do silnika - niższy poziom niż ma dostęp devtools. Ale możesz wyłączyć tę optymalizację.
George Mauer
26
Takie zachowanie znacznie utrudni życie nowicjuszom. To w zasadzie ukrywanie odpowiedzi na błędy.
Claudio Holanda
Chrome 79+ nie wyświetla już żądań CORS inspekcji wstępnej. Możesz na przykład użyć przeglądarki Firefox, aby to zobaczyć.
mkupiniak
2
Dobre wieści od osoby wdrażającej Chrome, która pracowała nad powiązanym kodem: Zobacz odpowiedź na stackoverflow.com/a/62590759/441757 „Chrome 83 ponownie implementuje obsługę narzędzi DevTools w ramach wstępnej inspekcji CORS w bezpieczny sposób. Możesz więc monitorować żądania wstępnego CORS-a tak, jak robiłeś to przed procesem Out-Of-Blink / Renderer CORS ”
sideshowbarker
17

Chrome 81 nie wydaje się nic wyświetlać nawet po zmianie opcji i ponownym uruchomieniu na moim komputerze.

Jako alternatywne rozwiązanie zacząłem używać Firefoksa i jego zakładki Sieć do programowania.

wprowadź opis obrazu tutaj

https://getfirefox.com

Mikko Ohtamaa
źródło
1
Używam Chrome 81 i zmiana flagi zgodnie z sugestią jms zadziałała.
Gustavo Straube
@GustavoStraube Hmmm. Czy korzystasz z jakiego systemu operacyjnego?
Mikko Ohtamaa
MacOS Mojave (10.14.6)
Gustavo Straube
1
Widziałem to zachowanie podczas testowania witryny korzystającej z podstawowego uwierzytelniania http. Nawet jeśli nie jesteś zalogowany na innej karcie wniosek inspekcji wstępnej zawsze niepowodzeniem (v84)
koosa
7

Jestem Takashi z Chromium Project i prowadziłem projekt Out-Of-Blink / Render CORS.

Projekt miał na celu wprowadzenie izolowanej procesowo implementacji CORS w celu zwiększenia bezpieczeństwa i prywatności, a wiele nowych funkcji związanych z siecią opiera się na tej nowej implementacji. Niestety tymczasowo wyłączyliśmy obsługę inspekcji wstępnej w DevTools, ponieważ okazało się, że dalsze jej wspieranie osłabia bezpieczeństwo i prywatność. Przepraszamy za niedogodności w tym okresie.

Dobra wiadomość jest taka, że ​​Chrome 83 ponownie wdraża obsługę narzędzi DevTools w ramach inspekcji wstępnej CORS w sposób z zachowaniem bezpieczeństwa. Możesz więc monitorować żądania inspekcji wstępnej CORS, tak jak przed wystąpieniem CORS Out-Of-Blink / Renderer.

Najlepsza,

Takashi Toyoshima
źródło
6
Używam najnowszego chrome na macOS i nadal nie widzę OPCJI w inspektorze sieci. Wsparcie?
Miguel Ribeiro
2
Chrome 83.0.4103.116 (Mac OS) - nadal brak informacji przed lotem w panelu sieci. Czy jest jakaś flaga, którą należy włączyć?
EK0
4
Chrome 83.0.4103.116 (oficjalna kompilacja) (64-bitowy) na MacOs również nadal nie wyświetla się przed lotem. A eksperymentalna opcja braku mrugnięcia okiem nie jest już dostępna.
Ben K,
1
Czy możesz wypróbować następującą stronę? yuri.twintail.org/chrome/cors/preflight.html 1) Otwórz DevTools 2) Kliknij przycisk „Make cors fetch” 3) Zobaczysz dwa żądania dla 918322_21.cgi, jeden nie odpowiada aktualnemu żądaniu, a drugi 200 do inspekcji wstępnej. Uwaga: jeśli żądanie trafi do pamięci podręcznej inspekcji wstępnej CORS, nic nie pokazujemy, ponieważ Chrome nie wysyła inspekcji wstępnej. Oczekuje się, że opcja „Wyłącz pamięć podręczną” w DevTools złagodzi ten problem, ponieważ pamięć podręczna inspekcji wstępnej jest również wyłączona przy użyciu tej opcji.
Takashi Toyoshima,
12
U mnie z Chrome 84 / Win10 żądania OPCJI pojawiają się na karcie Sieć, jeśli wybierzesz filtr „Wszystkie”, ale nie, jeśli wybierzesz filtr „XHR”. Co jest denerwujące, ponieważ wtedy muszę przebrnąć przez dziesiątki innych próśb, na których mi nie zależy. Masz jakiś pomysł, dlaczego nie możesz ich pokazać w obu miejscach?
Chris Tybur