REST API (Representational State Transfer Application Programming Interface), modern web uygulamalarında kullanılan bir tür web servisidir. REST, temel olarak web tabanlı iletişimde kullanılan bir mimari stilidir ve HTTP protokolünü kullanarak kaynaklara (resource) erişimi ve işlemleri tanımlar.
REST API’nin temel prensipleri şunlardır:
1. Kaynaklar (Resources): Her kaynak, tekil bir URI (Unified Resource Identifier) ile temsil edilir. Örneğin, bir kullanıcının profili için “/users” gibi bir URI kullanılabilir.
2. HTTP Metodları (HTTP Methods): HTTP protokolünün temel metodları (GET, POST, PUT, DELETE) kullanılarak kaynaklar üzerinde işlemler gerçekleştirilir. GET, kaynağı almak için kullanılırken, POST yeni bir kaynak oluşturmak için, PUT mevcut bir kaynağı güncellemek için, DELETE ise bir kaynağı silmek için kullanılır.
3. Sunucu Tarafsızlık (Server Neutrality): İstemciler (clients), sunucular (servers) hakkında bilgi sahibi olmadan kaynaklara erişebilmelidir. Bu, istemcilerin ve sunucuların birbirinden bağımsız olmasını sağlar.
4. Durumsuzluk (Statelessness): Her istek, sunucu tarafında hiçbir durum tutulmadan gerçekleştirilir. Her istek, kendisini içerir ve sunucu, istekler arasındaki herhangi bir durumu saklamaz.
5. Temsilasyon (Representation): Kaynaklar, farklı formatlarda (JSON, XML, HTML vb.) temsil edilebilir. İstemciler, istedikleri temsil formatını belirtebilirler.
REST API’ler, web uygulamaları arasında veri alışverişi ve etkileşimi için yaygın olarak kullanılır. Özellikle modern tek sayfa uygulamaları (SPA’lar) ve mobil uygulamalar, REST API’leri kullanarak sunucu ile iletişim kurarlar. REST, basit, esnek ve geniş ölçeklenebilir bir yapı sunar, bu da onu web geliştiricileri arasında popüler bir seçenek haline getirir.