HTTP Metotları

Oğuzhan Uyanık
Kodcular
Published in
3 min readDec 3, 2022

HTTP metotları veya diğer adıyla HTTP fiilleri; istemci ile sunucu arasındaki iletişimi sağlayan ve request-response döngüsü içerisinde çalışan protokollerdir.

CRUD olarak adlandırılan metotlar ise en sık kullanılan HTTP metotları olan POST (Create), GET (Read), PUT (Update), DELETE (Delete) için kullanılan bir kısaltmadır.

Bu yazıda açıklanacak olan HTTP metotları sadece CRUD metotlarıdır. Tüm HTTP metotlarının listesine aşağıdaki linkten erişebilirsiniz.

Link: List of HTTP methods

GET (Read)

  • Veri istemek/okumak için kullanılır.
  • GET ile gönderilen istekler URL olarak iletilir ve aşağıdaki gibi bir formattadır.
  • GET metodu ile gönderilen veriler bir URL içerisine yerleştirildiği için kolayca erişilebilir. Bu sebeple parola gibi gizli bilgiler bu metot ile gönderilmemelidir.
  • XML veya JSON türünde yanıt döndürür.
  • GET istekleri önbelleğe alınır, tarayıcı geçmişinde saklanır veya yer imi olarak tarayıcıya eklenebilir.
  • GET istekleri 2048 karakter uzunluk ile sınırlıdır. Daha uzun veriler GET ile gönderilemez.
  • GET istekleri sadece veri istemek için kullanılır, verilerde değişiklik yapmak için kullanılamaz.
  • GET istekleri ile sadece ASCII karakter kümesindeki veriler gönderilebilir.
  • GET istekleri application/x-www-form-urlencoded formatında gönderilir.
  • GET ve HEAD istekleri güvenli istekler olarak adlandırılır. Bunun sebebi idempotent (etkisiz) olmalarıdır. Yani; GET ve HEAD isteklerinin 1 defa gönderilmesi ile 1000 defa gönderilmesi arasında hiç bir fark yoktur.

POST (Create)

  • Sunucuya veri göndermek için kullanılır.
  • Gönderilen veriler genellikle sunucuda yeni bir oluşturma işlemi için kullanılır.
  • POST metodu ile gönderilen veriler istek gövdesinde (request body) tutulur.
  • POST istekleri, GET isteklerinin aksine; önbellekte tutulmaz, tarayıcı geçmişinde kalmaz ve yer imi olarak eklenemez.
  • POST isteklerinde veri uzunluğuyla ilgili bir kısıtlama yoktur.
  • POST istekleri application/x-www-form-urlencoded veya multipart/form-data formatında kodlanarak gönderilir.
  • POST istekleri ile her türlü veri gönderilebilir.

PUT (Update)

  • Sunucuya veri göndermek için kullanılır.
  • Gönderilen veriler sunucudaki bir kaynağı güncellemek veya yeni bir kaynak oluşturmak için kullanılabilir.
  • POST ve PUT istekleri büyük oranda benzerdir. Aralarındaki en büyük fark; PUT ile aynı isteği bir defa çağırmakla on defa çağırmak aynı sonucu verir. Ancak POST ile aynı istek her çağrıldığında yeni bir kaynak oluşturur.
  • PUT metodu sunucuda değişikliğe sebep olabilen bir metod olduğu için güvenli bir metod değildir, ancak idempotent yani tekrarlayan isteklerde etkisiz bir istektir.
  • PUT ve PATCH metodları da genellikle karıştırılan metodlardandır. Her ikisi de sunucu üzerindeki bir kaynakta değişiklik yapmak için kullanılır. Ancak PUT mevcut kaynakta değişiklik yaparken, PATCH mevcut kaynağa yeni bir ekleme yaparak günceller.

DELETE (Delete)

  • Sunucu üzerindeki belirli bir kaynağı silmek için gönderilen isteklerdir.
  • Sadece silme işlemlerinde kullanılır.

HTTP Response Status Codes

Tüm yazılarımın kategorize edilmiş bir listesine aşağıdaki linkten erişebilirsiniz.
https://github.com/oguzhanuyanik-sr/articles

--

--