Hızlandırılmış Kurs 101
10 Modüller
5 haftalar

REST API Teorisi

Kopyalamak için tıklayın

REST API ve ilkeleri hakkında genel bilgiler


İlk modül, bir HTTP isteği oluşturmanız, göndermeniz ve bir yanıt almanızla sona erdi.

Bunu gelecekte birçok kez daha yapacağız. İstekleri üçüncü taraf sunuculara göndereceğiz. Bu tür talepleri kabul eden ve yanıt veren başvurular yapacağız. İstekleri işlemek için karmaşık bir mantık oluşturacağız.

Bu nedenle, bu taleplerle ilgili her şeyi iyice incelemek, detaylı bir şekilde analiz etmek iyi olacaktır. Böylece isteği bir yere kopyalayıp tekrar edemezsiniz, bunun nasıl çalıştığını gerçekten anlayabilirsiniz.

İkinci modülde yapacağımız şey bu. Hadi gidelim!

Genel teori

Teori ile başlayalım.

İlk modülde ödevinizi yaptıysanız ve belgeleri incelediyseniz, kısaltma API'sini fark etmiş olmalısınız. Aslında, ağdaki bir hizmet veya uygulama ile etkileşimi anlamak istiyorlarsa geliştiricilerin incelemesi gereken ilk şey API belgeleridir.

API

API - Uygulama Programlama Arayüzü . Bu, istemci ve sunucunun birbirleriyle iletişim kurma yollarının bir açıklamasıdır. API belgelerini açıyoruz ve oradan gerekli verilerin sunucudan nasıl alınacağını öğreniyoruz.

Bu etkileşimin her zaman basit ve anlaşılır olmasını isteriz. Bu, hem geliştiriciler (yeni bir hizmet tasarlarken tekerleği yeniden icat etmeye gerek yoktur) hem de kullanıcılar (önceden bilinen hizmetlerle aynı prensipte çalışıyorsa bir hizmetin öğrenilmesi çok daha kolay) için görevi basitleştirir. Ve burada yeni bir terimi hatırlamaya değer - REST.

DİNLENME

REST - Temsili Durum Transferinin kısaltması. Kulağa çok net gelmeyebilir, ancak basitçe söylemek gerekirse, REST, bir istemci ve bir sunucu arasındaki bir etkileşim (bilgi alışverişi) tarzıdır.

Bu, katı kurallar ve gereksinimler dizisi değildir. REST, belirli bir programlama dilinin kullanımını zorlamaz ve katı yönergelerle elleri bağlamaz. REST bir mimari stil olarak adlandırılır ve bir sistem mimarisinin uyması gereken 6 ilkeyi tanımlar.

Buna göre, REST ilkeleri dikkate alınarak geliştirilen bir API, REST API olarak adlandırılır ve uygulamaların kendilerine RESTful adı verilir.

Tam da böyle RESTful uygulamalar oluşturacağız, bu yüzden hemen uyum sağlayacakları ilkeleri tartışmaya değer.

Dinlendirici ilkeler

İstemci-Sunucu Modeli . İlke, istemci ve sunucunun ayrılmasını, ihtiyaçlarının farklılaşmasını tanımlar. Müşterinin verilerin nasıl saklandığı konusunda endişelenmesine gerek yoktur, asıl mesele, talep üzerine verilmesidir. Buna karşılık, sunucu, istemcinin bu verilerle ne yapacağını, nasıl daha fazla işlenip görüntüleneceğini umursamıyor. Bu, birbirlerinden bağımsız olarak gelişmelerini sağlar ve sistemin ölçeklenebilirliğini artırır.

vatansızlık Bu ilke, sunucunun, bu istemciyle daha önceki deneyimlere dayanarak yanıtı "düşünmemesi" gerektiği anlamına gelir. Herhangi bir talep, önceki taleplerden bağımsız olarak işlenmesi için gerekli tüm bilgileri içerecek şekilde yapılır.

önbelleğe alma İletilen verileri en aza indirmek için bir önbellek mekanizması vardır. Örneğin, bir sayfada bir logo görüntüleniyorsa, bunu her seferinde sunucudan talep etmenin bir anlamı yoktur. Çok sık değişmez, bir kez alıp müşterinin bilgisayarına, önbelleğe kaydetmeniz yeterli olacaktır. Ancak arabanın mevcut hızı hakkında bilgi almamız gerekirse, önbellek hiçbir şekilde yardımcı olmaz. Bu ilke, sunucu tarafından iletilen verilerin önbelleğe alınabilir olup olmadığını belirlemektedir.

Üniforma arayüzü . İlke, istemci-sunucu etkileşiminin tek bir biçimini tanımlar. Tüm isteklerin yapısı aynı olmalıdır. Veriler, kimin talep ettiğinden bağımsız olarak aynı biçimde gönderilmelidir.

Katmanlı Sistem . İstemci ve sunucunun doğrudan iletişim kurması gerekmez. Veri iletimi birkaç ara düğümden geçebilir. Bu durumda, sistem, ne istemci ne de sunucu, son uygulama veya bir ara düğüm ile etkileşime girip girmediklerini bilmeyecek şekilde tasarlanmıştır. Bu, sunuculardaki yükü dengelemenize, ölçeklenebilirliği artırmanıza olanak tanır.

İsteğe bağlı kod (isteğe bağlı) . Zorunlu olmayan tek ilke. Buna göre, istemci, sunucudan yürütülebilir kod (örneğin, komut dosyaları) indirerek işlevselliğini genişletebilir. Bu durumda, kod yalnızca talep üzerine yürütülmelidir.

Was this article helpful?
Hala bir cevap mı arıyorsunuz?
Topluluğa Katılın