25.11.2025
Rest Apı Architecture (Temsili Durum Aktarımı)
REST API ARCHİTECTURE (Temsili Durum Aktarımı) NEDİR?
R-> Representational
S-> State
T-> Transfer
Kısaca bu mimari yapıyı web hizmetleri oluşturmak için kullanılan bir dizi kuralı tanımlayan mimari stili olarak tanımlayabilirim. Rest mimari stilini izleyen web hizmetlerine RESTFUL web hizmetleri denir. Bir RESTFUL sistemi İstemci(Client) ve Sunucu(Server) ' dan oluşur. Restful APİ ler 6 mimari kısıtlamadan oluşur.
- Tek Tip Arayüzü (Uniform Interface)
- Durumsuzluk (Stateless)
- Önbelleklenebilirlik (Casheable)
- İstemci/Sunucu (Client-Server)
- Katmanlı Sistem (Layered Architecture)
- İsteğe Bağlı Kod (Code On Demand)
Tek Tip Arayüz (Uniform Interface ) : Bu REST'i diğer mimari stillerden ayıran temel kısıtlamadır. Sunucuyla etkileşim için tek standart bir yol olmasını sağlar. Yani kısacası cihaz veya uygulama türü ne olursa olsun (web sitesi ,mobil uygulama vb) belirli bir sunucuya etkileşim kurmanın tek bir tipi olduğunu söyler.
Durumsuzluk(Stateless) : Kısaca Durumsuzluk , her HTTP isteğinin tamamen izole (yalıtılmış) bir şekilde gerçekleşmesidir.
Önbelleklenebilirlik (Casheability) : Sunucudan gelen yanıtlar, uygun HTTP başlıkları kullanılarak önbelleklenilebilir veya önbelleklenilemez olarak etkilenebilir.
Katmanlı Sistem (Layered Architecture) : Bir uygulama mimarisi birden fazla katmandan oluşmaktadır. Her katman kendine özgüdür ve her biri birbirinden bağımsızdır.Bu katmanların kendi içinde kendine özgü görevleri vardır. Data -> Veri tabanı , Presentation -> UI(Arayüz) gibi.
İsteğe Bağlı Kod (Code On Demand) : Kısaca Sunucular istemciye çalıştırılabilir kod sağlar
İstemci/Sunucu (Client / Server ) : Rest Uygulamaları, bir istemci sunucu mimarisine sahip olmalıdır. İstemci kaynakları talep ederken sunucu da kaynakları elinde barındıran ve kullanıcı arayüzü ve kullanıcı durumuyla ilgilenmeyen yapıdır. Böylece bağımsız olarak çalışabilirler.
REST' in Temel Bileşenleri (Rest Key Component) Nedir ?
- Kaynaklar (Resource)
- HTTP Metotları
- Temsiller (Representations)
- Hipermedya Bağlantıları (Hypermedia Links)
- Durum Kodları (Status Code)