HTTP - Caching
HTTP biasanya digunakan untuk sistem informasi terdistribusi, di mana kinerja dapat ditingkatkan dengan menggunakan cache respons. Protokol HTTP / 1.1 menyertakan sejumlah elemen yang dimaksudkan untuk membuat cache berfungsi.
Tujuan caching di HTTP / 1.1 adalah untuk menghilangkan kebutuhan untuk mengirim permintaan dalam banyak kasus, dan untuk menghilangkan kebutuhan untuk mengirim respons penuh dalam banyak kasus lainnya.
Mekanisme cache dasar di HTTP / 1.1 adalah arahan implisit ke cache tempat validator dan waktu kedaluwarsa yang ditentukan server. Kami menggunakanCache-Control header untuk tujuan ini.
Itu Cache-Controlheader memungkinkan klien atau server untuk mengirimkan berbagai arahan baik dalam permintaan atau tanggapan. Perintah ini biasanya menggantikan algoritme cache default. Arahan caching ditentukan dalam daftar yang dipisahkan koma. Sebagai contoh:
Cache-control: no-cache
Arahan permintaan cache berikut dapat digunakan oleh klien dalam permintaan HTTP-nya:
SN | Petunjuk dan Deskripsi Permintaan Cache |
---|---|
1 | no-cache Cache tidak boleh menggunakan respons untuk memenuhi permintaan berikutnya tanpa validasi ulang yang berhasil dengan server asal. |
2 | no-store Cache tidak boleh menyimpan apa pun tentang permintaan klien atau respons server. |
3 | max-age = seconds Menunjukkan bahwa klien bersedia menerima tanggapan yang usianya tidak lebih dari waktu yang ditentukan dalam hitungan detik. |
4 | max-stale [ = seconds ] Menunjukkan bahwa klien bersedia menerima tanggapan yang telah melampaui waktu kedaluwarsanya. Jika detik diberikan, itu tidak boleh kedaluwarsa lebih dari waktu itu. |
5 | min-fresh = seconds Menunjukkan bahwa klien bersedia menerima respons yang masa kesegarannya tidak kurang dari usianya saat ini ditambah waktu yang ditentukan dalam hitungan detik. |
6 | no-transform Tidak mengubah badan-entitas. |
7 | only-if-cached Tidak mengambil data baru. Cache dapat mengirim dokumen hanya jika ada di dalam cache, dan tidak boleh menghubungi server asal untuk melihat apakah ada salinan yang lebih baru. |
Arahan respons cache berikut dapat digunakan oleh server dalam respons HTTP-nya:
SN | Petunjuk dan Deskripsi Respons Cache |
---|---|
1 | public Menunjukkan bahwa respons dapat di-cache oleh cache apa pun. |
2 | private Menunjukkan bahwa semua atau sebagian dari pesan tanggapan ditujukan untuk satu pengguna dan tidak boleh di-cache oleh cache bersama. |
3 | no-cache Cache tidak boleh menggunakan respons untuk memenuhi permintaan berikutnya tanpa validasi ulang yang berhasil dengan server asal. |
4 | no-store Cache tidak boleh menyimpan apa pun tentang permintaan klien atau respons server. |
5 | no-transform Tidak mengubah badan-entitas. |
6 | must-revalidate Cache harus memverifikasi status dokumen basi sebelum menggunakannya dan yang kedaluwarsa tidak boleh digunakan. |
7 | proxy-revalidate Perintah proxy-revalidate memiliki arti yang sama dengan perintah must-revalidate, kecuali bahwa itu tidak berlaku untuk cache agen pengguna yang tidak dibagikan. |
8 | max-age = seconds Menunjukkan bahwa klien bersedia menerima tanggapan yang usianya tidak lebih dari waktu yang ditentukan dalam hitungan detik. |
9 | s-maxage = seconds Usia maksimum yang ditentukan oleh perintah ini menggantikan usia maksimum yang ditentukan oleh perintah max-age atau header Expires. Direktif s-maxage selalu diabaikan oleh cache pribadi. |