Restful işleyişinde kaynağa etki etmeyen metotlar anlamına gelir.
Readonly bir yapıda olduklarından dolayı performans kazanmak adına
proxy ve/veya
cache mekanizmalarınca önbelleklenebilirler. Kaynağı etkilemekten kasıt, orijinal yapının aynı kalması anlamındadır. Yoksa mesela log kayıtları, başka bir yerde tutulan hit sayıları gibi istatistiki işlemler elbette yapılabilir. Esas olan URL'in temsil ettiği kaynağın değişmemesidir.
Buradaki mantık aslında şudur; diyelim ki bir makaleyi GET üzerinden getirmek için ajax ile bir istek oluşturup gönderdiniz ancak bir şekilde yanıt alamadınız. İstek zaman aşımına uğrayıp sonlandırılsa bile bu isteği defalarca çekinmeden gönderebilirsiniz çünkü restful mantığı kaynağın değişmeyeceğini garanti altına almıştır. Burada size düşen görev sonuç alana kadar denemeye devam etmek (arka planda). Sonucu bir şekilde aldınız diyelim. Browser size hissettirmeden bu isteği cache mekanizmasıyla önbellekleyecektir çünkü browser geliştiriciler de bu restful denen olayı biliyorlar. Diyelim ki kullanıcı 20 dakika sonra gelip aynı get isteğine neden olursa istek sunucu yerine kullanıcının bilgisayarındaki önbellekten hızlıca karşılanacaktır. Burada hem bir ağ isteğinden, dolayısıyla sunucu işleminden tasarruf edilir hem de uygulamanız içine herhangi bir cache kodlaması kurgulamanıza gerek kalmadığından geliştirme kolaylığı, kod optimizasyonu gibi bir sürü daha avantajlar elde etmiş olursunuz. Sonra yazdığım uygulama neden böyle bir normal, bir tuhaf davranıyor demek zorunda kalmamak için safe metodları bilmek ve bunlarla çalışırken browser önbelleğini dikkate almak iyi olur.
Safe metotlar şunlardır;
bkz
get
bkz
head
bkz
options
#programlama