Junior
REST nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
REST (Temsili Durum Transferi) dağıtık sistemler inşa etmek için kullanılan bir mimari tarzdır ve genellikle web servislerinin tasarımında kullanılır. Bu, web kaynaklarının birbirleriyle nasıl etkileşime girdiğini belirleyen bir dizi ilke ve kısıtlamaya dayanır.
REST'in temel ilkeleri:
- İstemci-sunucu: İstemci ve sunucu arasında net bir görev ayrımı.
- Durumsuz (stateless): Sunucu, istekler arasında istemcinin durumuyla ilgili bilgi saklamaz. Her istek, işleme alınması için gereken tüm bilgileri içerir.
- Önbelleğe alınabilir: İstemciler, performansı artırmak için sunucu yanıtlarını önbelleğe alabilir. Sunucu, yanıtın önbelleğe alınabilir olup olmadığını açıkça belirtir.
- Katmanlı Sistem: İstemci, ara katmanla (örneğin, proxy, yük dengeleyici) etkileşime girebilir, bunu bilmeden.
- İstek Üzerinden Kod (isteğe bağlı): Sunucu, istemciye çalıştırılabilir kod (örneğin, JavaScript) gönderebilir, böylece istemcinin işlevselliğini genişletir.
- Bütünsel Arayüz: En önemli ilke olup şu kısıtlamaları içerir:
- Kaynakların tanımlanması (URI).
- Kaynakların temsil yoluyla manipüle edilmesi (belirli bir biçimde veri alışverişi, örneğin JSON, XML).
- Kendini açıklayan mesajlar (mesajlar, anlamaları için gereken tüm bilgileri içerir).
- HATEOAS (Hypermedia as the Engine of Application State): İstemci, sunucunun yanıtlarındaki hiper bağlantıları kullanarak uygulama durumları arasında geçiş yapar.
RESTful API, web servisleri için REST tarzının bir uygulamasıdır ve kaynaklarla çalışmak için standart HTTP yöntemleri (GET, POST, PUT, DELETE) kullanır.
// RESTful API'de HTTP yöntemlerinin kullanımı örneği
// Kaynak al
// GET /api/products/1
// Kaynak oluştur
// POST /api/products
// Gövde: { "name": "Yeni Ürün", "price": 10.50 }
// Kaynak güncelle
// PUT /api/products/1
// Gövde: { "name": "Güncellenmiş Ürün", "price": 11.00 }
// Kaynak sil
// DELETE /api/products/1