Murat Çeşmecioğlu

Kişisel Web Sitesi

Cache (önbellek) sistemi genellikle boş yere işlemci gücü tüketmemek, çok fazla tekrar eden sorgularda sunucuyu yormamak; böylece kullanıcılara daha yüksek performanslı bir sistem sunmak için kullanılır. Bu siteye girdiğiniz bile sayfalar, kullanılan javascriptler, resimler tarayıcınızın belleğine kayıt ediliyor. Tekrar girdiğinizde sayfaların daha hızlı açılması sağlanıyor.

Peki bu tip bir siteden sık sık güncellenen bir veri çekiyorsak? Şimdi hemen şunu diyebilirsiniz “O kadar sık güncelleniyorsa zaten önbelleğe almak yerine işlemciyi yormayı tercih etmişlerdir.” Hayır öyle değil. Örneğin bir bankanın döviz kurları. Kurlar anlık olarak değişiyor ancak bunu siteye o kadar da güncel olarak yansıtmamayı tercih etmiş. Siz bu verileri her 5 saniyede bir okumaya çalışırsanız 30 saniyelik önbellek süresi olan bir sistemde 30 saniye boyunca aynı bilgileri alırsınız. Fakat o sürede değişen değerleri yakalayamazsınız. Bu veri çekme işini ister Ajax ile yapın, isterseniz Excel’den XMLHttp ile yapın, isterseniz php dosyanızdan curl ile okuyun; sonuçta sunucu GET komutu ile yaptığınız isteklere önbellekten dönecektir.

Çözüm: GET yerine POST kullanmak.

Çünkü tarayıcılar ve sunucular, genellikle, POST komutlarına önbellekten cevap döndürmüyorlar. Böylece her seferinde yeni oluşturulmuş verileri çekebiliyorsunuz.