Apa perbedaan antara "Reload Normal", "Reload Keras", dan "Empty Cache dan Hard Reload" di Chrome?

342

Baru-baru ini saya menemukan fitur baru ini di Chrome:

opsi muat ulang

Saya dapat mengetahui perbedaan antara opsi 1 dan opsi 3, dan bahwa opsi 2 mungkin adalah sesuatu di antaranya, tetapi saya tidak dapat menemukan informasi yang lebih tepat di mana pun.

Adakah yang tahu perilaku tepat dari masing-masing dari 3 opsi?

Samuel Rossille
sumber
17
Bisakah Anda menjelaskan "fitur ini"? Khususnya: bagaimana Anda mengaksesnya? Saya mencoba semua jenis klik kanan, klik kontrol, ... tetapi tidak bisa mendapatkannya. Versi apa ini?
Joachim Sauer
83
@ JoachimSauer Haha itu rahasia kecil saya ... Seriusnya sangat tersembunyi: Anda harus menekan tombol segarkan tanpa melepaskannya segera saat konsol pengembang aktif samuelrossille.com/home/blog-chrome-reload-options.html
Samuel Rossille
11
Juga muncul dengan mengklik kanan ikon muat ulang (saat Devtools terbuka)
Costa
7
Apakah ini berfungsi untuk OSX Chrome? Sepertinya saya tidak bisa membukanya melalui Dev Tools dan klik kanan / klik + tahan
nitsujri
6
Saya baru saja menemukan fitur-fitur ini di tahun 2016 secara tidak sengaja ...
Edwin Yip

Jawaban:

439

Muat ulang normal

Hal yang sama seperti menekan F5. Ini akan menggunakan cache tetapi memvalidasi ulang semuanya selama memuat halaman, mencari respons "304 Tidak Dimodifikasi". Jika browser dapat menghindari mengunduh ulang file JavaScript yang di-cache, gambar, file teks, dll. Maka itu akan.


Reload sulit

Jangan gunakan apa pun dalam cache saat membuat permintaan. (yang sama dengan SHIFT+ F5Tidak perlu membuka konsol Pengembang) Memaksa browser melakukan unduh ulang setiap file JavaScript, gambar, file teks, dll.


Cache Kosong dan Hard Reload

Tentunya, jika cache kosong maka harus melakukan hard reload. Ini lagi akan memaksa browser untuk mengunduh ulang semuanya. Namun, jika halaman membuat unduhan setelah fakta melalui JavaScript yang bukan bagian dari memuat halaman, maka ini mungkin masih menggunakan cache, yang merupakan tempat pengosongan cache membantu karena itu memastikan bahwa bahkan ini tidak akan menggunakan file dalam cache.


Catatan : Fitur ini hanya tersedia ketika alat pengembang terbuka.

Andrew Rasmussen
sumber
49
Adakah yang tahu jika opsi ketiga hanya mengosongkan cache untuk situs saat ini, vs mengosongkan seluruh cache?
Grinn
10
@ Grinn: Sebenarnya, sekarang saya memikirkannya, mungkin seluruh cache. Inti dari fitur itu adalah untuk menghapus unduhan setelah fakta, yang tidak terbatas hanya pada satu "situs".
Andrew Rasmussen
13
Saya tidak jelas tentang apa yang dianggap sebagai "after-the-fact download via Javascript"? Adakah yang bisa memberikan contoh konkret?
Costa
4
@Costa Anda dapat mengunduh hal-hal yang awalnya tidak ditentukan dalam DOM. Misalnya dengan menambahkan tag <script> baru ke DOM Anda, atau dengan menggunakan RequireJS dll. Setiap pustaka berbasis AMD (seperti RequireJS) pada dasarnya memuat skripnya dengan malas. Dalam hal ini, Anda harus mengosongkan cache untuk memastikan bahwa semuanya benar-benar mendapat reload yang sulit.
Domi
16
Perlu dicatat bahwa ini hanya berfungsi jika alat pengembang terbuka (F12) Akan lebih baik jika ini adalah pengaturan yang selalu dapat tersedia terlepas apakah alat dev terbuka atau tidak.
scunliffe
4

Ini juga berfungsi di Mac OS X. Buka alat pengembang, dan kemudian, pada tombol reload, 1. klik kedua (klik kanan untuk mouse kanan), atau 2. klik panjang, alias tekan agak lama untuk melihat menu.

Selain jawaban ini , reload keras sering menyebabkan proxy, jaringan pengiriman konten dan cache jarak jauh lainnya di-refresh.

masukkan deskripsi gambar di sini

bekerja
sumber
“Hard reload sering menyebabkan proxy, jaringan pengiriman konten, dan cache jarak jauh lainnya di-refresh.” → Bisakah Anda mencadangkannya? Apakah Anda memiliki kutipan yang menjelaskan mengapa hal ini terjadi? Saya mengharapkan Hard Reload untuk hanya memuat ulang semua cache lokal, dan tidak akan memiliki efek tambahan pada server jarak jauh.
Denilson Sá Maia
Saya pikir browser mengirim Cache-Control: no-cachetajuk. squid-web-proxy-cache.1019090.n4.nabble.com/... Apakah milik Anda?
dcorking
1
Saya melakukan beberapa pengujian ... Pergi ke URL atau menggunakan normal Reload mengirim 3 header yang berhubungan dengan cache: Cache-Control: max-age=0, If-Modified-Since, If-None-Match. Namun, melakukan Hard Reload (dengan atau tanpa mengosongkan cache), hanya 2 header terkait cache yang dikirim: Cache-Control: no-cachedan Pragma: no-cache. Jadi, ya, browser memang mengirim header meminta server untuk versi baru; kemudian tergantung pada server (termasuk proksi) untuk mengubah perilaku berdasarkan itu.
Denilson Sá Maia
Bagus! Anda dapat mengeditnya menjadi jawaban saya, atau menulis jawaban Anda sendiri. @ DenilsonSáMaia
dcorking
0

Metode berikut memungkinkan Anda menghapus cache hanya untuk URL bermasalah. Ini membantu saya ketika saya terjebak dengan http ke https cache redirection.

  1. Buka alat pengembang Chrome, di Windows saya gunakan F12
  2. Periksa Preserve loguntuk menyimpan log sebelum pengalihan
  3. Klik kanan URL yang dialihkan dan Clear browser cache

Ini hanya akan menghapus cache yang bermasalah tanpa memengaruhi cache normal.

Sohail Ahmed
sumber