HTTP Request Methods (HTTP İstek Yöntemleri)

Fatih Delice
Fatih Delice

Web geliştirmede, istemciler (örneğin tarayıcılar veya API istemcileri) ile sunucular arasındaki iletişim HTTP istekleri üzerinden gerçekleşir. Bu isteklerde kullanılan yöntemler (methods), yapılan işlemin türünü belirtir. Her bir HTTP metodu, sunucuya farklı bir eylem gerçekleştirmesi talimatını verir. Örneğin veriyi almak, eklemek, güncellemek veya silmek gibi. Aşağıda tüm HTTP metodlarını tek tek açıklayalım. 👇

GET yöntemi sunucudan veri almak için kullanılır. Sunucuda herhangi bir değişiklik yapmaz, sadece bilgi çeker. Örneğin:
GET /api/customers
Bu istek sunucudan tüm müşterileri döner. Yalnızca okuma amaçlıdır ve veride değişiklik yapmaz.

POST yöntemi sunucuya yeni bir kaynak eklemek için kullanılır. Gönderilen veri, isteğin gövdesinde (body) yer alır. Örneğin:
POST /api/customers
Yeni bir müşteri kaydı oluşturmak için kullanılır. Sunucuya veri gönderir ve genellikle yeni bir kaynak döner.

PUT yöntemi, var olan bir kaynağı tamamen güncellemek için kullanılır. POST ile benzer görünse de farkı, mevcut kaynağın üzerine yazmasıdır. Örneğin:
PUT /api/customers/123
Bu istek, ID’si 123 olan müşterinin tüm bilgilerini günceller.

PATCH yöntemi, bir kaynağın yalnızca belirli alanlarını güncellemek için kullanılır. PUT’un aksine, tüm veriyi değil yalnızca değiştirilen alanları gönderir. Örneğin:
PATCH /api/customers/1234
{ "name": "foobar" }
Bu istek, yalnızca müşteri adını günceller, diğer alanları değiştirmez.

DELETE yöntemi, bir kaynağı silmek için kullanılır. Örneğin:
DELETE /api/customers/235
Bu istek ID’si 235 olan müşteriyi siler. Kaç kere çağrılırsa çağrılsın sonuç aynıdır; kaynak silinir.

HEAD yöntemi, GET’e benzer şekilde çalışır ancak sunucudan yalnızca başlık (header) bilgilerini alır, gövde (body) verisini döndürmez. Genellikle bir kaynağın var olup olmadığını veya meta verilerini kontrol etmek için kullanılır. Örneğin:
HEAD /api/customers

OPTIONS yöntemi, bir URL için hangi HTTP metodlarının desteklendiğini sorgular. Özellikle CORS (Cross-Origin Resource Sharing) işlemlerinde kullanılır. Örneğin:
OPTIONS /api/main.html/1.1
Bu istek, belirtilen adreste hangi HTTP metodlarının kullanılabileceğini döner.

TRACE yöntemi, istemci tarafından gönderilen isteğin sunucuya ulaştıktan sonra ne hale geldiğini görmek için kullanılır. Tanılama (debugging) amacıyla tercih edilir. Örneğin:
TRACE /api/main.html
Sunucu, istemcinin gönderdiği isteği olduğu gibi geri döndürür.

CONNECT yöntemi, istemci ile sunucu arasında tünel bağlantısı kurmak için kullanılır. Genellikle HTTPS gibi güvenli bağlantılar oluşturmakta görev alır. Örneğin:
CONNECT www.example.com:433 HTTP/1.1
Bu istek, istemci ve sunucu arasında iki yönlü güvenli bir kanal oluşturur.

🧠 Özet Tablo

MethodAmaçVeri GönderimiVeri Değiştirir mi?
GETVeri çekmekURL❌ Hayır
POSTYeni veri eklemekBody✅ Evet
PUTVeriyi tamamen güncellemekBody✅ Evet
PATCHVerinin bir kısmını güncellemekBody✅ Evet
DELETEVeriyi silmekURL✅ Evet
HEADVeri olmadan kontrolURL❌ Hayır
OPTIONSDesteklenen metodları görmekURL❌ Hayır
TRACETanılamaURL❌ Hayır
CONNECTGüvenli bağlantı kurmakURL✅ Evet

HTTP yöntemleri, web uygulamalarının omurgasını oluşturur. RESTful API tasarımı yaparken bu metodların doğru kullanımı, sistemin güvenilir, okunabilir ve sürdürülebilir olmasını sağlar. Her yöntemin amacına uygun kullanılması, hem istemci hem de sunucu tarafında iletişimin net olmasını garanti eder.