1 aydır yazmıyorum. Bu yazıda HTTP durum kodlarına değineceğim. Bu durum kodları önbelleklenebilir durum kodlarıdır. Çoğu HTTP durum kodunu zaten biliyoruz. Kimileri buna HTTP hata kodları demeyi tercih ediyor.
Bu konuyu aslında @heartsmagic ile başlattığımız bir thread üzerine yazma kararı aldım. Gerçekten faydalı birçok bilgiyi de öğrendim. Konuya girmeden önce konu RFC 7231 altında yayınlı tanımlamalara dayanan bilgiler içeriyor.
Açıklamalar
Bazı HTTP durum kodları aksi belirtilmediği sürece varsayılan olarak önbelleklenmiş yanıtlar döndürürler. Ayrıca bir diğer açıklama ise kaynak sunucu daima önbellek süresinin ne zaman sona ereceğini size söylemez. Açık bir şekilde önbellek sonlanma zamanı belirtilmemişse heuristic(sezgisel) bir şekilde önbelleğe sonlanma zamanı atanıyor.
Önbelleğin ne zaman sona ereceği, Last Modified gibi başlık üst bilgileri kullanılarak tahmin edilebiliyor. Yani eğer bilinçli olarak bir sona eriş tarihi yoksa, sezgisel olarak bi zaman atanıyor. Burada en önemli bilinmesi gereken ZORUNLULUK eğer HTTP önbelleklemesi açık bir şekilde tanımlanmamışsa, heuristic sonlanma zamanı atanabilir olmalı. Eğer HTTP önbelleklemesi belirtilmişse heuristic tanımlama olamaz.
Durum Kodları
Bölüm 6.1 der ki;
200, 203, 204, 206, 300, 301, 404, 405, 410, 414 ve 501
nolu durum kodları aksi belirtilmediği sürece varsayılan olarak önbelleklidir. Diğer tüm durum kodları varsayılan olarak önbelleklenebilir değildir.
Durum Kodları
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
203 Non-Authoritative Information
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Aksi belirtilmediği taktirde varsayılan olarak önbelleklidir 7234 – 4.2.2
Post İsteğinin Önbelleklenmesi
POST isteği açık bir şekilde belirtildiği taktirde önbelleklenebilir. Aslında istek değil, verilen yanıtlar. Bu karmaşayı en sonda ortadan kaldırmak iyi olur diye düşündüm.
Normalde POST isteğinden dönen yanıtın önbelleklenebilirliğinden çok fazla faydalanılmıyor. Bir post isteğine dönen yanıtın, bu istekten sonra gelecek get tarafından tekrar kullanılabileceği durumlarda nadiren de olsa bu tip önbelleklemeler kullanılabiliyor.