# HTTP Metodu

Adres: https://softwaredictionary.org/tr/terimler/http-method
Kategori: Backend ve API'ler
Son güncelleme: 2026-09-30
İngilizcesi: HTTP Method
Türkçe karşılığı: HTTP yöntemi

Kısaca: HTTP metodu, bir HTTP isteğindeki GET, POST, PUT, PATCH veya DELETE gibi fiildir ve sunucuya istenen kaynak üzerinde hangi eylemin yapılacağını söyler.

## HTTP metotları nelerdir?

Her HTTP isteği bir metotla başlar; bu, istemcinin niyetini belirten kısa bir sözcüktür ve ardından bir kaynağın URL'si gelir. `GET /users/42` bir kullanıcıyı okumayı, `DELETE /users/42` ise onu kaldırmayı ister. Metot, sunucuların, önbelleklerin, proxy'lerin ve tarayıcıların bir isteğin içeriğine bakmadan ne yapacağını anlamasını sağlar.

En çok kullanacağınız beş metot şunlardır: veriyi getiren ve hiçbir şeyi değiştirmemesi gereken `GET`; bir kaynak oluşturmak ya da bir eylemi tetiklemek için veri gönderen `POST`; bir kaynağı gönderilen veriyle tamamen değiştiren `PUT`; kısmi bir güncelleme uygulayan `PATCH`; ve bir kaynağı kaldıran `DELETE`. Daha az görünür olanlar arasında `GET` gibi çalışıp yalnızca başlıkları döndüren `HEAD` ve bir sunucunun nelere izin verdiğini soran, tarayıcıların CORS preflight isteği olarak gönderdiği `OPTIONS` yer alır. REST API'lerde bu metotlar CRUD işlemleriyle örtüşür.

Metotlar iki özelliğe göre sınıflandırılır. Güvenli (safe) bir metot (`GET`, `HEAD`, `OPTIONS`) sunucu durumunu değiştirmez; bu yüzden tarayıcılar bağlantıları önceden yükleyebilir ve önbellekler yanıtları saklayabilir. Idempotent bir metot (güvenli olanlar artı `PUT` ve `DELETE`) bir kez ya da birkaç kez gönderilmesi fark etmeksizin aynı etkiye sahiptir; dolayısıyla bir istemci onu zaman aşımından sonra yeniden deneyebilir. `POST` ve `PATCH`'in ise idempotent olması garanti edilmez ve yeniden denendiğinde kopyalar oluşturabilirler. Metodu bir cümlenin fiili, URL'yi de nesnesi olarak düşünün: 'bu kullanıcıyı getir', 'şu siparişi sil'.

HTTP metotları bazen HTTP durum kodlarıyla karıştırılır. Metodu istekte istemci seçer; `200` veya `404` gibi bir durum kodunu ise yanıtta sunucu seçer. Yaygın bir hata, `GET /delete-account` gibi veriyi değiştiren eylemler için `GET` kullanmaktır; tarayıcı botları, bağlantı önizlemeleri veya önceden yükleme bunları yanlışlıkla tetikleyebilir. Bir `GET` isteğindeki veri de URL'nin sorgu dizesinde (query string) taşınır ve orada loglanır ve önbelleğe alınır; dolayısıyla hassas veriler bir `POST`'un gövdesinde yer almalıdır.

## Önemli noktalar

- Metot, bir HTTP isteğinin fiilidir; `GET`, `POST`, `PUT`, `PATCH` veya `DELETE` gibi.
- `GET` okur, `POST` oluşturur ya da eylem tetikler, `PUT` değiştirir, `PATCH` kısmen günceller ve `DELETE` kaldırır.
- Güvenli metotlar sunucu durumunu değiştirmez; idempotent metotlar güvenle tekrarlanabilir.
- `OPTIONS` CORS preflight istekleri için kullanılır, `HEAD` ise yalnızca başlıkları getirir.
- Veriyi değiştiren eylemler için asla `GET` kullanmayın.

## Örnek: Farklı HTTP metotlarıyla bir API'yi çağırmak

```bash
# Read a resource
curl https://api.example.com/tasks/7

# Create a resource (the server usually replies 201 Created)
curl -X POST https://api.example.com/tasks \
  -H "Content-Type: application/json" -d '{"title": "Write report"}'

# Partially update it, then delete it
curl -X PATCH https://api.example.com/tasks/7 \
  -H "Content-Type: application/json" -d '{"done": true}'
curl -X DELETE https://api.example.com/tasks/7

# Ask only for the headers (a HEAD request)
curl -I https://api.example.com/tasks/7
```

## Sık sorulan sorular

**Kaç tane HTTP metodu vardır?**

Çekirdek HTTP standardı olan RFC 9110 sekiz tanesini tanımlar: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS` ve `TRACE`; `PATCH` ise ayrı bir RFC'de tanımlanmıştır. Çoğu API bunların yalnızca beşini kullanır.

**GET isteğinin gövdesi olabilir mi?**

HTTP standardı, bir `GET` isteğindeki gövdeye tanımlı bir anlam vermez ve birçok sunucu, proxy ve kütüphane onu yok sayar veya reddeder; bu yüzden `GET` parametrelerini sorgu dizesine koyun. Karmaşık okuma sorguları için API'ler genellikle `POST` kullanır; gövde gerektiren güvenli istekler için de yeni bir `QUERY` metodu önerilmiştir.

**HTTP metotları büyük/küçük harfe duyarlı mıdır?**

Evet. Metot adları büyük/küçük harfe duyarlıdır ve standart olanlar her zaman `GET` ve `POST` gibi büyük harfle yazılır.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
