Chrome không hiển thị các yêu cầu OPTIONS trong tab Mạng


82

Ứng dụng khách web của tôi đang thiết lập các yêu cầu HTTP POST thông qua API tìm nạp.

Tôi thấy rằng các yêu cầu OPTIONS preflight được gửi qua proxy gỡ lỗi (Charles Proxy), nhưng chúng không được hiển thị trong tab Mạng của nhà phát triển Google Chrome.

Tôi không có bất kỳ bộ lọc nào được thiết lập trên tab mạng. Tôi nhớ các yêu cầu OPTIONS đang hiển thị ở đó, nhưng không hiển thị nữa. Làm cách nào để đưa chúng trở lại?

Câu trả lời:


146

Bạn sẽ cần phải truy cập : chrome://flags/#out-of-blink-cors, tắt cờ và khởi động lại Chrome.

Đây là một thay đổi hành vi dự kiến ​​theo:
https://bugs.chromium.org/p/chromium/issues/detail?id=995740#c1

Ban đầu tôi đã biết điều này qua:
https://support.google.com/chrome/thread/11089651?hl=vi


3
Điều này đã hiệu quả. Nhưng tôi không thể tìm thấy trong các trang được liên kết cài đặt "không chớp mắt" này làm gì. Blink là tên động cơ chrome - vậy thành phần nào thay vì nó? Và điều gì đã thay đổi hiệu quả đối với các trang web bình thường không phải là tiện ích mở rộng chrome?
Ubeogesh

Tôi sẽ tưởng tượng rằng việc xử lý các cors được chuyển vào động cơ - một cấp độ thấp hơn các devtools có quyền truy cập. Nhưng bạn có thể tắt tối ưu hóa đó.
George Mauer

24
Hành vi này sẽ khiến cuộc sống của các nhà phát triển mới vào nghề trở nên khó khăn hơn rất nhiều. Điều này về cơ bản là ẩn câu trả lời cho các lỗi.
Claudio Holanda

2
Tin vui từ nhà triển khai Chrome đã làm việc trên mã liên quan: Xem câu trả lời tại stackoverflow.com/a/62590759/441757 “Chrome 83 triển khai lại hỗ trợ CORS preflight DevTools theo cách bảo mật. Vì vậy, bạn có thể theo dõi các yêu cầu CORS preflight như bạn có thể làm trước khi CORS Out-Of-Blink / Renderer ”
sidehowbarker

2
Không còn hoạt động kể từ Chrome 85 :(
phuzi

14

Chrome 81 dường như không hiển thị bất cứ điều gì ngay cả sau khi thay đổi tùy chọn và khởi động lại trên máy tính của tôi.

Như một giải pháp thay thế, tôi bắt đầu sử dụng Firefox và tab Mạng của nó để phát triển.

nhập mô tả hình ảnh ở đây

https://getfirefox.com


1
Tôi đang sử dụng Chrome 81 và việc thay đổi cờ theo gợi ý của jms đã hoạt động.
Gustavo Straube

@GustavoStraube Hừm. Bạn đang sử dụng hệ điều hành nào?
Mikko Ohtamaa

MacOS Mojave (10.14.6)
Gustavo Straube

1
Tôi đã thấy hành vi này khi kiểm tra một trang web có xác thực http cơ bản. Ngay cả khi bạn đã đăng nhập trên một tab khác, yêu cầu preflight sẽ luôn không thành công (v84)
koosa

7

Tôi là Takashi từ Dự án Chromium và là người điều khiển dự án Out-Of-Blink / Render CORS.

Dự án nhằm giới thiệu một quy trình triển khai CORS cô lập để bảo mật và quyền riêng tư tốt hơn, và nhiều tính năng mới liên quan đến mạng dựa trên triển khai mới này. Rất tiếc, chúng tôi đã tạm thời vô hiệu hóa hỗ trợ preflight trong DevTools vì hóa ra việc tiếp tục hỗ trợ sẽ làm suy yếu tính bảo mật và quyền riêng tư. Xin lỗi vì sự bất tiện trong thời gian này.

Tin tốt là giờ đây, Chrome 83 triển khai lại hỗ trợ Công cụ DevTools của CORS preflight theo cách bảo mật. Vì vậy, bạn có thể theo dõi các yêu cầu CORS preflight như bạn có thể làm trước khi CORS Out-Of-Blink / Renderer.

Tốt,


5
Tôi đang chạy chrome mới nhất trên macOS và vẫn không thấy TÙY CHỌN trong trình kiểm tra mạng. Cứu giúp?
Miguel Ribeiro

2
Chrome 83.0.4103.116 (Mac OS) - vẫn không hiển thị thông tin trước chuyến bay trong bảng điều khiển mạng. Có cờ nào cần được bật không?
EK0

4
Chrome 83.0.4103.116 (Bản dựng chính thức) (64-bit) trên MacO vẫn không hiển thị trước chuyến bay cho tôi. Và tùy chọn cors ngoài chớp mắt thử nghiệm không còn khả dụng.
Ben K

1
Bạn có thể thử trang sau? yuri.twintail.org/chrome/cors/preflight.html 1) Mở DevTools 2) Nhấp vào nút "tạo cors tìm nạp" 3) Bạn sẽ thấy hai yêu cầu cho 918322_21.cgi, một yêu cầu thực tế không thành công và yêu cầu còn lại là 200 cho chuyến bay trước. Lưu ý: nếu yêu cầu truy cập vào bộ đệm ẩn CORS preflight, chúng tôi sẽ không hiển thị bất kỳ điều gì vì Chrome không gửi preflight. Tùy chọn "Tắt bộ nhớ cache" trong DevTools được kỳ vọng sẽ giảm thiểu vấn đề này vì bộ đệm ẩn trước cũng bị tắt với tùy chọn này,.
Takashi Toyoshima

9
Đối với tôi đang chạy Chrome 84 / Win10, các yêu cầu TÙY CHỌN hiển thị trong tab Mạng nếu bạn chọn bộ lọc 'Tất cả', nhưng không hiển thị nếu bạn chọn bộ lọc 'XHR'. Thật là khó chịu vì sau đó tôi phải lội qua hàng tá yêu cầu khác mà tôi không quan tâm. Bất kỳ ý tưởng tại sao bạn không thể hiển thị chúng ở cả hai nơi?
Chris Tybur
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.