Apa gunanya?
Sudah ada teknik mapan yang disebut caching sisi klien. Apa yang dibawa penyimpanan lokal HTML5 dalam kasus ini caching apa yang tidak ada?
Anda mungkin memiliki semacam aplikasi aneh yang harus memuat potongan kode JavaScript secara dinamis sehingga Anda tidak dapat menggunakan cache secara efektif, tetapi ini merupakan kasus yang sangat jarang.
Juga, waspadai hal lain. Browser memiliki kebijakan khusus untuk cache, dan sebagian besar browser cukup baik dalam mengelola cache dengan baik (hanya menghapus konten yang lebih lama, dll.). Dengan menerapkan cache buatan Anda, Anda mencegah browser mengaturnya dengan benar. Tidak hanya itu dapat dikritik sendiri, tetapi juga akan merugikan Anda cepat atau lambat. Contoh: ketika pengguna aplikasi web melaporkan bug, sering Anda menjawab dengan meminta mereka menghapus cache. Saya tidak yakin apa yang akan Anda tanyakan dalam kasus Anda, karena membersihkan cache tidak akan pernah menyelesaikan masalah dengan aplikasi web Anda.
Menanggapi hasil edit pertama Anda (edit kedua Anda di luar topik):
Saya tahu cache browser, masih akan ada beberapa pemeriksaan akses header
Anda tampaknya kurang memahami tentang cache browser. Itu sebabnya penting untuk memahami cara kerjanya dulu, sebelum mulai menerapkan mekanisme caching buatan sendiri . Temukan kembali roda Anda sendiri hanya ketika Anda cukup memahami roda yang ada dan memiliki alasan yang baik untuk tidak menggunakannya. Lihat poin 1 dari jawaban saya untuk pertanyaan "Menemukan kembali roda dan TIDAK menyesalinya" .
Saat memberikan beberapa data melalui HTTP, Anda dapat menentukan beberapa header yang terkait dengan cache:
Last-Modified
menentukan kapan konten diubah,
Expires
menentukan kapan browser harus bertanya ke server jika konten berubah .
Dua header itu memungkinkan browser untuk:
- Hindari mengunduh konten lagi dan lagi. Jika
Last-Modified
diatur ke bulan lalu, dan konten sudah diunduh hari ini beberapa jam sebelumnya, tidak perlu mengunduhnya lagi.
- Hindari permintaan tanggal di mana file terakhir diubah. Jika
Expires
dari entitas cache Mei 5 th 2014, Anda tidak perlu mengeluarkan permintaan GET tidak pada tahun 2011, atau pada tahun 2012 atau 2013, karena Anda tahu bahwa cache adalah up-to-date.
Yang kedua sangat penting untuk CDN. Saat Google menyajikan JQuery kepada pengunjung Stack Overflow atau cdn.sstatic.net
menyajikan gambar atau stylesheet yang digunakan oleh Stack Overflow, mereka tidak ingin browser meminta versi baru setiap waktu. Sebaliknya, mereka melayani file-file itu satu kali, mengatur tanggal kedaluwarsa menjadi sesuatu yang cukup lama, dan hanya itu.
Contohnya, screenshot dari apa yang terjadi ketika saya mengunjungi halaman muka Stack Overflow:
Ada 15 file untuk dilayani. Tapi di mana semua 304 Not Modified
tanggapan itu? Anda hanya memiliki tiga permintaan konten yang berubah. Untuk yang lainnya, browser menggunakan versi cache tanpa membuat permintaan ke server apa pun .
Untuk menyimpulkan, Anda benar-benar perlu berpikir dua kali sebelum menerapkan mekanisme cache Anda sendiri, dan terutama menemukan skenario yang baik di mana ini bisa berguna . Seperti yang saya katakan di awal jawaban saya, saya hanya dapat menemukan satu: di mana Anda melayani potongan JavaScript untuk menggunakannya, OMG eval()
,. Tetapi dalam hal ini, saya cukup yakin bahwa ada pendekatan yang lebih baik yaitu:
- Lebih efektif menggunakan teknik cache standar, atau
- Lebih mudah dirawat.