# REST vs SOAP

Adres: https://softwaredictionary.org/tr/karsilastirma/rest-vs-soap
Son güncelleme: 2026-10-02

Kısaca: REST, düz HTTP, URL ve genelde JSON kullanan hafif bir API tarzıdır; SOAP ise mesajları XML'e saran, katı bir WSDL sözleşmesi kullanan resmî bir protokoldür.

## REST ile SOAP arasındaki fark nedir?

Aslen Simple Object Access Protocol'ün kısaltması olan SOAP, sistemler arasında mesaj alışverişi için 2000 civarında ortaya çıktı ve 2003'te bir W3C standardı oldu. Her istek ve yanıt; bir zarf (envelope), isteğe bağlı bir başlık ve bir gövdeden oluşan bir XML belgesidir, bir WSDL dosyası da servisin sunduğu işlemleri tanımlar. Roy Fielding'in aynı yıl tarif ettiği REST ise bir protokol değil, bir mimari tarzdır: kaynakların URL'leri vardır ve `GET`, `PUT`, `DELETE` gibi HTTP metotlarıyla işlenir.

Temel fark ağırlık ve katılıktır. SOAP pek çok şeyi belirler: mesaj biçimini, hata biçimini, güvenlik (WS-Security), işlemler (transaction) ve güvenilir teslimat için eklenti standartlarını; HTTP dışındaki taşıma yollarıyla da çalışabilir. REST ise HTTP'nin zaten sunduklarına, yani durum kodlarına, önbelleklemeye ve kimlik doğrulama başlıklarına yaslanır; bu da çağrıları kısa ve bir tarayıcıdan ya da `curl` ile denemesi kolay tutar.

Bugün yeni genel ve mobil API'ler için varsayılan, GraphQL ve gRPC ile birlikte REST'tir. SOAP ise resmî sözleşmelerinin ve güvenlik standartlarının uzun zaman önce benimsendiği bankacılık, sigorta, sağlık, kamu ve eski kurumsal sistemlerde yaygın olmaya devam ediyor; bu yüzden birçok geliştirici REST tabanlı uygulamalardan hâlâ SOAP servislerini çağırmak zorunda kalıyor.

Sık yapılan bir yanlış, SOAP'ın sadece eski, REST'in de sadece daha iyi olduğu düşüncesidir. SOAP'ın katı sözleşmeleri, üretilen istemcileri ve standart güvenliği bazı entegrasyonlarda gerçek avantajlardır; REST'in özgürlüğü ise her API'nin hatalar, sürümleme ve belgeleme için kendi kurallarını icat etmesi demektir ve bu boşluk çoğu zaman OpenAPI ile doldurulur.

| Özellik | REST API | SOAP |
| --- | --- | --- |
| Nedir | Bir mimari tarz | Resmî bir şartnamesi olan bir protokol |
| Mesaj biçimi | Genellikle JSON; XML ya da başka biçimler de olabilir | Her zaman bir SOAP zarfının içinde XML |
| Sözleşme | İsteğe bağlı; çoğunlukla OpenAPI ile yazılır | Genellikle zorunlu bir WSDL dosyası |
| Taşıma | HTTP | Çoğunlukla HTTP; SMTP, JMS ve başkaları da olabilir |
| Önbellekleme | GET istekleri için standart HTTP önbellekleme | Neredeyse hiç; istekler genellikle POST'tur |
| Güvenlik | HTTPS ve OAuth gibi token'lar | Her mesajı imzalayıp şifreleyen WS-Security standartları |
| En uygun olduğu yer | Web ve mobil uygulamalar, genel API'ler | Katı sözleşmeli kurumsal entegrasyonlar |

## REST API şu durumlarda doğru seçim

- Yeni bir web, mobil ya da genel API geliştiriyorsunuz.
- Küçük JSON mesajları ve HTTP önbellekleme istiyorsunuz.
- Geliştiriciler API'yi düz HTTP araçlarıyla keşfedebilmeli.

## SOAP şu durumlarda doğru seçim

- Yalnızca SOAP sunan mevcut bir sistemle entegre oluyorsunuz.
- Mesaj seviyesinde güvenliğe ya da güvenilir teslimat standartlarına ihtiyacınız var.
- İki taraf da kod üretebileceği katı, makinenin okuyabileceği bir sözleşme istiyor.

## Sık sorulan sorular

**SOAP hâlâ kullanılıyor mu?**

Evet; çoğunlukla bankacılık, sigorta, sağlık, telekom ve kamu sistemlerinde ve eski kurumsal yazılımlarda. Yeni API'lerin çoğu ise REST, GraphQL ya da gRPC kullanıyor.

**REST, XML kullanabilir mi?**

Evet. REST bir veri biçimini zorunlu kılmaz; JSON yalnızca en yaygın seçimdir. Bir REST API'si XML, CSV ya da istemcinin Accept başlığıyla istediği başka bir biçim döndürebilir.

**SOAP, REST'ten daha mı güvenli?**

Kendiliğinden değil. SOAP'ın tek tek mesajları imzalamak ve şifrelemek için standartları vardır ve bazı sektörler bunu ister; ama HTTPS üzerinden, düzgün kimlik doğrulamayla sunulan bir REST API'si çoğu kullanım için güvenlidir.

---

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