API Nedir?

Minaodabas
3 min readJan 13, 2021

Bir bilgisayar programına bir uygulamayı çalıştırmasını söyleyebileceğiniz bir API mevcuttur. Açılımı Application Programming Interface olan API, bir programlama ara yüzüdür. API açılımını tek tek ele alalım.

  • Application ; görev yapan yazılımdır.
  • Programming ; uygulamadaki görevi yapan programdır.
  • Interface ;programı nereden çalıştırmasını söylediğin yerdir. Bu açılımdan yola çıkarak küçük bir örnek ile API kavramını anlamaya çalışalım.

Örneğin, bilgisayarımızı kullanarak google search yaptığımız zaman application yukarıdaki tanımımıza dayanarak google olacağını söyleyebiliriz. Çünkü bu örneğimizde görev yapan yazılım google’dır. Programming ise search olacaktır çünkü görevi gerçekleştiren search butonudur. Interface kısmı ise bilgisayarımız olacaktır çünkü biz programı çalıştırmasını bilgisayarımızdan söylüyoruz.

API Kullanımı

Şimdi ise sıkça duyduğumuz request(istek) ,program ve response(cevap)kavramlarını yine bir örnek ile anlamaya çalışalım. Bilgisayarımızda Google’ da search kısmına Twitter yazalım ve search butonuna basalım. Google twitter kelimesi için request gönderecek, internet bize web page veya html olarak response verecek. Peki program nerede? Bizim bilgisayarımızda değil. Bu program URL’ye yerleşmiş. www.google.com kısmi google bilgisayarı temsil eder. Program google bilgisayarın neresinde?Program search dosyasında konumlanmıştır. Bizim bilgisayarlarımızda olduğu gibi google bilgisayarda da dosyalar vardır.

Sonuç almak için url’miz www.google.com/search?q=twitter . “/” sonrasında bulunan saerch location, q ise parametreyi temsil eder.

Web Servisleri

Web servisler, farklı platformların arasındaki iletişimi sağlar. Web ; internet, servis ise API olarak adlandırılır.

Bütün web servisler birer API’dir fakat tüm API’ler web servis değildir. Tüm API’ler internet kullanmazlar.

Web servisler;

  • İnternet üzerinden verileri biçimlendirmek için XML veya JSON
  • Verileri aktarmak için Rest,Soap or XML/RPC kullanırlar.

HTTP

Açılımı Hyper Text Transfer Protocol olan HTTP, www.google.com gibi sadece bir text olan internet sitesini özel kılan, bilgisayarlar ile bilginin sağlandığı sunucular arasında bir köprü oluşturan, aynı zamanda bu kaynaklar arasındaki bilgi alışverişinin kurallarını da belirleyen sistemdir.

Her biri kendi formatına sahip iki tür HTTP mesajı vardır requests ve responses.

Requests

  • Method: genellikle GET,POST,PUT,DELETE gibi istemcinin isteklerini karşılar.
  • Path: alınacak kaynağın yolu
  • Version of protocol: HTTP protokolünün sürümü.
  • Headers: sunucular için ek bilgiler ileten isteğe bağlı başlıklar.

Responses

  • Version of the protocol : HTTP protokolünün sürümü.
  • Status Code: İsteğin başarılı olup olmadığını ve nedenini gösteren bir durum kodu.
  • Headers: İsteğe bağlı olarak, getirilen kaynağı içeren bir gövde.

JSON

Açılımı JavaScript Object Notation olan JSON, veri tutan ve farklı platformlar için veri alışverişi sağlayan yapıdır.

REST

Representation State Transfer(Temsili Durum Aktarımı), bir yazılım mimarisidir. Temel REST prensipleri:

  • Stateless: Sunucu tarafında istemci oturumu ile ilgili herhangi bir durumu depolamaz.
  • Client-Server: Uygulama verilerini ve durumunu yöneten bir sunucu
  • Cacheable : sık erişilen verilerin kopyalarını request-response yolu boyunca çeşitli yerlerde saklama yeteneğidir.
  • Uniform Interface : Bileşenler arasında tek tip bir ara yüze vurgu yapma.

--

--