Bu aslında çok geniş bir soru. En temel anlamda, bir web API'si bir istemci (Web tarayıcısı gibi) bir Web sunucusuna bir tür HTTP isteği yaptığında çalışır. Sunucu, kullanıcının ne istediğini belirleme isteğini inceler ve sonra istemcinin istediklerini almak için incelediği verileri (sayfa gibi) döndürür. Bunlar sadece Web API'lerinin ortak noktalarından ibarettir; Bunun gerçekten sorunuzu cevaplamadığını anlıyorum, ancak sorunun neden bu kadar geniş olduğunu açıklamak istedim.
Bir istemcinin isteğini biçimlendirmesinin veya bir sunucunun yanıtını biçimlendirebilmesinin her yolu vardır ve bu nedenle herhangi birinin anlamlı olması için istemci ve sunucunun bazı temel kurallar üzerinde anlaşması gerekir. Genel olarak konuşursak, bugünlerde bu tür şeyler için kullanılan iki çok genel stil var.
Uzaktan Yordam Çağrısı (RPC)
RPC stili API'da, tüm API için genellikle yalnızca bir URL vardır. Bunu, ne yapmak istediğiniz hakkında bilgi içeren bir tür belge POSTing yaparak çağırırsınız ve sunucu, ne istediğinizi içeren belgeyi döndürür. Genel bilgi işlem terimlerinde, istek belgesi genellikle bir işlev adına ve bazı bağımsız değişkenlere sahiptir.
Bu API stili için bazı standartlar XML-RPC ve SOAP'dir. Bu standartlar, yaptığınız işlev çağrılarını veya hatta tüm API'yi tanımlamak için kullanılabilecek bir biçim oluşturmaya çalışır.
Temsilci Devlet Transferi (REST)
Bir REST stili API'sinde, ad alanı olarak API için çok fazla URL'niz yoktur : bir sunucu veya sunucunun içinde çok sayıda farklı nesnenin bulunduğu ve bu ad alanındaki her URL'nin bir parçası olduğu bir klasör API'sı. Aksine API kullanmak istediğiniz sunucuyu anlatan yerine, URL API kullanmak istediğiniz sunucuyu söyler üzerinde . Daha sonra ne yapmak istediğinizi açıklamak için HTTP yöntemi ve muhtemelen istek gövdesini kullanmak için bu nesne: POST, PUT (zaten orada olan bir şeyi değiştirmek), (yeni bir şey yaratmak) (zaten orada olan bir şeyi almak) GET veya SİL (zaten orada olan bir şeyden kurtulun). Kullanabileceğiniz birkaç fiil daha var, ancak bunlar en yaygın olanları.
Şimdiye kadar, REST için standart formatlardan bahsetmedim. Teorik olarak, hemen hemen her formatı kullanabilirsiniz. HTTP zaten ne yapmak istediğinizi ve ne yapmak istediğinizi söylemenizi sağlar, böylece istek gövdesinin formatı hemen hemen her şey olabilir: oluşturmak veya değiştirmek istediğiniz nesnenin bir temsili. Ancak pratikte, REST yazarları yine de bir format üzerinde anlaşmaya eğilimlidir, çünkü mümkün olan her formatı anlamak zor olacaktır.