Saya melihat pesan peringatan yang aneh ketika melihat sumber yang diunduh menggunakan Google chrome inspector ( F12):
Header sementara perhatian ditunjukkan
Saya menemukan sesuatu yang mungkin relevan, Panel Jaringan: menambahkan kehati-hatian tentang tajuk permintaan sementara , tetapi saya tidak dapat sepenuhnya memahaminya. Pertanyaan terkait dapat ditemukan permintaan blok Chrome serta XMLHttpRequest tidak dapat dimuat. Sumber daya yang diturunkan menunjukkan kehati-hatian: Header sementara ditampilkan .
Mirip dengan pertanyaan pertama , sumber saya diblokir, tetapi kemudian secara otomatis memuat sumber yang sama. Berbeda dengan pertanyaan kedua , saya tidak ingin memperbaiki apa pun; Saya ingin tahu apa arti pesan ini dan mengapa saya menerimanya.
sumber
chrome://flags/#site-isolation-trial-opt-out
Jawaban:
Sumber daya dapat diblokir oleh ekstensi (AdBlock dalam kasus saya).
Pesan ada di sana karena permintaan untuk mengambil sumber daya itu tidak pernah dibuat, jadi tajuk yang ditampilkan bukan hal yang nyata. Seperti dijelaskan dalam masalah yang Anda referensikan, header sebenarnya diperbarui ketika server merespons, tetapi tidak ada respons jika permintaan diblokir.
Cara saya menemukan tentang ekstensi yang memblokir sumber daya saya adalah melalui alat internet-internal di Chrome:
Untuk Versi chrome terbaru
chrome://net-export/
bilah alamat dan tekan enter.Untuk Versi Chrome yang Lebih Lama
chrome://net-internals
bilah alamat dan tekan enter.sumber
Saya percaya itu terjadi ketika permintaan sebenarnya tidak terkirim. Biasanya terjadi ketika Anda memuat sumber daya yang di-cache.
sumber
Untuk chrome v72 + yang menyelesaikannya untuk saya hanya ini:
buka
chrome://flags/
dan nonaktifkan 3 flag iniatau Anda dapat melakukannya dari baris perintah:
mengapa ini terjadi?
apakah berbahaya untuk mengubahnya?
sumber
localhost:8080
dangoogle.com
(!?). Menonaktifkan isolasi situs memperbaiki google.com, tetapi bukan localhost. Menonaktifkan hanya dua opsi lainnya yang memperbaikinya untuk semua kasus.Saya mengalami masalah ini, dan saya berhasil mengidentifikasi penyebab tertentu, yang tidak disebutkan di atas baik dalam jawaban atau pertanyaan.
Saya menjalankan js stack penuh, ujung depan sudut dan ujung belakang simpul pada SSL, dan API berada pada domain berbeda yang berjalan pada port 8081, jadi saya melakukan permintaan CORS dan withCredentials karena saya menjatuhkan cookie sesi dari API
Jadi secara khusus skenario saya adalah: Permintaan POST, withCredentials to port 8081 menyebabkan pesan "CAUTION: provisional header ditampilkan" di inspektur dan juga tentu saja memblokir permintaan secara bersamaan.
Solusi saya adalah mengatur apache ke proxy untuk mengirimkan permintaan dari port SSL biasa 443 ke node SSL port 8081 (node harus berada di port yang lebih tinggi karena tidak dapat dijalankan sebagai root in prod). Jadi saya kira Chrome tidak suka permintaan SSL ke port SSL yang tidak konvensional, tetapi mungkin pesan kesalahan mereka bisa lebih spesifik.
sumber
'/graphql': { target: 'http://10.10.1.38:4000', changeOrigin: true }
"proxy": "http://192.168.98.110:1234"
ke sayapackage.json
di proyek create-react-app. Tidak seperti jawabannya, saya tidak menggunakan HTTPS di mana saja di dev, tetapi ini diperlukan karena aplikasi dan api saya menggunakan IP yang berbeda.Ini juga dapat terjadi (hanya untuk permintaan lintas-asal) karena fitur baru yang disebut isolasi situs
Halaman ini merinci masalah dan penyelesaiannya . Yang mana untuk masuk ke
chrome://flags/#site-isolation-trial-opt-out
dalam chrome dan mengubah pengaturan itu ke "Opt-out" dan memuat ulang chrome.Ini masalah yang diketahui . Namun halaman itu mengatakan itu diperbaiki di chrome 68, tapi saya sedang menjalankan chrome 68 dan saya masih memiliki masalah.
sumber
HTTP / 2 Sumberdaya dorong akan menghasilkan
Provisional headers are shown
di inspektur untuk teori yang sama seperti @wvega diposting dalam jawabannya di atas .misalnya: Karena server mendorong sumber daya ke klien ( sebelum klien meminta mereka ), peramban memiliki sumber daya yang di-cache dan oleh karena itu klien tidak pernah membuat / membutuhkan permintaan; Jadi karena...
sumber
Situasi saya terkait lintas asal .
Situasi: Browser mengirim
OPTIONS
permintaan sebelum mengirim permintaan sebenarnya sepertiGET
atauPOST
. Pengembang Backend lupa untuk menanganiOPTIONS
permintaan, membiarkannya melalui kode layanan, membuat waktu pemrosesan terlalu lama. Lebih lama dari pengaturan batas waktu yang saya tulis diaxios
inisialisasi, yaitu 5.000 milidetik. Karena itu, permintaan sebenarnya tidak dapat dikirim, dan kemudian saya menemuiprovisional headers are shown
masalah.Solusi: Ketika datang untuk
OPTIONS
meminta, backend api hanya mengembalikan hasil, itu membuat permintaan lebih cepat dan permintaan nyata dapat dikirim sebelum batas waktu.sumber
Saya ragu jawaban saya tepat waktu untuk membantu Anda tetapi orang lain mungkin merasa terbantu. Saya mengalami masalah serupa dengan skrip jjazah Ajax Post yang saya buat.
Ternyata saya memiliki kesalahan ketik pada atribut href dari tag A yang saya gunakan untuk mem-posting. Saya telah mengetik href = " javacsript:; " (membalikkan tanda 's' dan 'c') .. ini menyebabkan skrip mencoba menyegarkan laman saat pos berusaha memecat. mengoreksi kesalahan ketik dan itu bekerja dengan baik untuk saya.
sumber
Pesan ini dapat terjadi ketika situs web dilindungi menggunakan HSTS . Kemudian, ketika seseorang menautkan ke versi HTTP URL, browser, seperti yang diinstruksikan oleh HSTS, tidak mengeluarkan permintaan HTTP, tetapi secara internal mengalihkan ke sumber daya HTTPS dengan aman. Ini untuk menghindari serangan downgrade HTTPS seperti sslstrip .
sumber
Itu mungkin karena Anda mengirim permintaan Ajax, pada saat yang sama Anda melompat halaman Anda ke yang lain menggunakan location.href atau sesuatu seperti itu. Jadi permintaan sebelumnya gagal.
sumber
Pesan hati-hati ini juga terjadi jika responsnya tidak valid dan karenanya dijatuhkan oleh browser.
Dalam kasus saya permintaan dikirim dengan benar ke server, kode sisi server kemudian menghasilkan kesalahan dan penanganan kesalahan kustom saya mengembalikan pesan kesalahan di bidang pesan status HTTP. Tetapi kesalahan ini tidak diterima di sisi klien, karena karakter yang tidak valid dalam pesan kesalahan (dijelaskan di sini http://aspnetwebstack.codeplex.com/workitem/1386 ) yang mengakibatkan header respons yang korup.
sumber
Saya mengalami masalah ini dengan panggilan AJAX yang tidak akan pernah selesai. Saya mengikuti saran dan tip wvega tentang debugging
chrome://net-internals
untuk akhirnya menentukan yang lainclick
event handler lain di halaman, mendengarkan pada node induk, menyebabkan browser untuk menavigasi ke URL yang sama (jadi itu tidak mudah terlihat).Solusinya adalah untuk menambahkan
event.stopPropagation()
dalamclick
handler pada formulir tombol submit untuk menjaga klik dari menggelegak DOM dan membatalkan permintaan AJAX berlangsung (dimulai melaluisubmit
handler padaform
).sumber
Saya baru saja mengetahui ini (hari ini sebenarnya) di mana saya menerima panggilan AJAX ke server dan Chrome mengeluarkan "Perhatian: Header sementara ditampilkan." Di sisi server PHP scripting, ada query MySQL yang bisa sangat instan atau memakan waktu beberapa detik tergantung pada skenario yang diberikan. Respons server saya tidak dikirim kembali ke browser hingga pertanyaan selesai. Saya menemukan bahwa saya mendapatkan kesalahan ini hanya ketika permintaan waktu (hingga total beberapa detik) sedang dilakukan dan mencegah tanggapan agar tidak dikirim kembali.
Skenario saya melibatkan kemungkinan yang sangat langka karena harus mengubah tabel dengan menambahkan / menghapus ratusan kolom untuk output model cuaca ... maka respons lag dari iterasi melalui loop kueri ALTER TABLE.
sumber
Alasan umum ini terjadi adalah jika Anda melacak suatu peristiwa dan Anda tidak mencegah tindakan default. Misalnya, jika Anda memiliki acara klik, maka Anda ingin menyertakan:
atau
Jika tidak, Anda akan melihat peringatan tajuk sementara serta status "dibatalkan" di tab Jaringan di konsol web Anda.
sumber
Dalam kasus saya itu hanya set path salah ke sumber daya (svg / img)
sumber
Masalah ini terjadi pada saya ketika saya mengirim tajuk Otorisasi HTTP yang tidak valid. Saya lupa base64 menyandikannya.
sumber
Saya menemukan ini dan hilang ketika saya beralih dari https ke http. Sertifikat SSL yang kami gunakan di dev tidak diverifikasi oleh pihak ke-3. Mereka hanya sertifikat dev yang dihasilkan secara lokal.
Panggilan yang sama berfungsi dengan baik di Chrome Canary dan Firefox. Peramban ini tampaknya tidak seketat sertifikasi SSL seperti halnya Chrome. Panggilan akan gagal di Chrome dengan pesan "CAUTION: Provisional headers ...".
Saya pikir / berharap bahwa ketika kami menggunakan sertifikat SSL yang sah di panggung dan prod, kami tidak akan melihat perilaku ini di Chrome lagi.
sumber
Hanya melempar dua sen saya. Saya sedang menulis Aplikasi Web menggunakan permintaan CORS dan layanan web RESTful penuh. Saya telah menemukan chrome akan melempar kesalahan ini ketika saya memiliki pengecualian yang tidak ditangani atau Kesalahan PHP dilemparkan. Hanya memetikan orang lain mengalami masalah. Saya menemukan bahwa ketika ini terjadi saya dapat menjalankan Aplikasi Chrome "Tukang Pos - Sisihkan Klien" dan menjalankan permintaan yang sama persis tetapi di Aplikasi Chrome saya akan benar-benar mendapatkan Kesalahan PHP yang dilempar alih-alih kesalahan non-deskriptif ini.
sumber
Saya menjalankan masalah ini ketika saya mencoba memuat main.js untuk memerlukan js untuk kedua kalinya setelah saya membuat perubahan sebagai akibat dari kesalahan. Saya baru saja aktif di Pengaturan Alat Pengembang "Nonaktifkan Cache (Ketika DevTools Terbuka)". dan itu pesona.
sumber
Skenario lain yang mungkin saya lihat - permintaan yang sama persis sedang dikirim lagi setelah beberapa milidetik (kemungkinan besar karena bug di sisi klien).
Jika demikian, Anda juga akan melihat bahwa status permintaan pertama "dibatalkan" dan latensi hanya beberapa milidetik.
sumber
Ini terjadi pada saya, ketika saya memiliki tautan unduhan dan setelah mengkliknya saya mencoba juga untuk menangkap klik dengan jquery dan mengirim permintaan ajax. Masalahnya adalah karena ketika Anda mengklik tautan unduhan, Anda meninggalkan halaman, meskipun tidak terlihat. Jika tidak ada transfer file, Anda akan melihat halaman yang diminta .. Jadi saya menetapkan target = "_ blank" untuk mencegah masalah ini.
sumber
Saya mendapatkan kesalahan ini ketika saya mencoba untuk mencetak halaman dalam sembulan. Dialog cetak ditampilkan dan masih menunggu penerimaan atau pembatalan pencetakan saya di sembulan sementara di halaman master juga menunggu di latar belakang yang menunjukkan pesan AWAS tajuk sementara ditampilkan ketika saya mencoba mengklik tautan lain.
Dalam kasus saya, solusinya adalah menghapus
window.print ();
skrip yang sedang dijalankan pada<body>
jendela popup untuk mencegah dialog cetak.sumber
Saya melihat ini terjadi ketika jumlah koneksi ke server saya melebihi batas maksimum 6 koneksi-per-server Chrome sebesar 6.
sumber
Gunakan tinju kode ini untuk kode Anda:
Ini bekerja untuk saya.
sumber
Ini solusi lain.
Jika Anda mengalami masalah ini dengan panggilan $ ajax (), tambahkan
http://
sebelum serverhost Anda akan menyelesaikan masalah Anda.sumber
Jika Anda sedang mengembangkan aplikasi Asp.Net Mvc dan Anda mencoba untuk mengembalikan
JsonResult
controller Anda, pastikan Anda menambahkanJsonRequestBehavior.AllowGet
keJson
metode. Itu memperbaikinya bagi saya.sumber
"Perhatian: tajuk sementara diperlihatkan" pesan dapat ditampilkan ketika situs web yang dihosting di HTTPS memanggil panggilan ke WebApi yang dihosting di HTTP. Anda dapat memeriksa semua jika semua Api Anda adalah HTTPS. Browser mencegah untuk melakukan panggilan ke sumber daya tidak aman. Anda dapat melihat pesan serupa di kode Anda saat menggunakan FETCH API ke domain dengan HTTP.
Konten Campuran: Halaman di ' https://website.com ' dimuat melalui HTTPS, tetapi meminta sumber daya tidak aman ' http://webapi.com '. Permintaan ini telah diblokir; konten harus disajikan lebih dari HTTPS.
sumber
Saya memiliki masalah serupa dengan aplikasi MEAN saya. Dalam kasus saya, masalah itu terjadi hanya dalam satu permintaan. Saya mencoba menghapus adblock, mencoba membersihkan cache dan mencoba dengan berbagai browser. Tidak ada yang membantu.
akhirnya, saya telah menemukan bahwa api itu mencoba mengembalikan objek JSON yang sangat besar. Ketika saya mencoba mengirim objek kecil, itu berfungsi dengan baik. Akhirnya, saya telah mengubah implementasi saya untuk mengembalikan buffer alih-alih JSON.
Saya berharap expressJS untuk melempar kesalahan dalam kasus ini.
sumber
Masalah ini juga akan terjadi saat menggunakan beberapa paket suka
webpack-hot-middleware
dan membuka beberapa halaman secara bersamaan.webpack-hot-middleware
akan membuat koneksi untuk setiap halaman untuk mendengarkan perubahan kode lalu menyegarkan halaman. Setiap browser memilikimax-connections-per-server
batasan 6 untuk Chrome, jadi jika Anda telah membuka lebih dari 6 halaman di Chrome, permintaan baru akan digantung di sana hingga Anda menutup beberapa halaman.sumber
Dalam kasus saya penyebabnya adalah ekstensi AdBlock.
Permintaan ke server melewati dan saya mendapat respons tetapi saya tidak bisa melihat cookie permintaan karena "Header sementara .." ditampilkan di alat Dev. Setelah menonaktifkan AdBlock untuk situs tersebut, peringatan itu hilang dan alat dev mulai menampilkan cookie lagi.
Agar perubahan berlaku, itu juga perlu untuk menutup alat Dev dan menyegarkan halaman
sumber