1. Anasayfa
  2. Programlama

API Nedir, Ne İşe Yarar (Örneklerle Anlatım)

API Nedir, Ne İşe Yarar (Örneklerle Anlatım)
1

API Nedir?

Image for post

Ö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.

Image for post

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

Image for post

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

Image for post

  • 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

Image for post

  • 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.

Image for post

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.

facebook takipçi

Ne Düşünüyorsun?
  • 4
    harika_
    Harika!
  • 0
    g_zel_
    Güzel!
  • 0
    haval_
    Havalı!
  • 0
    e_lenceli_
    Eğlenceli!
  • 0
    _zg_n_m_
    Üzgünüm!
  • 0
    sevmedim_
    Sevmedim!

Merhaba! Ben Mina. Bilgisayar Mühendisliği 4.Sınıf öğrencisiyim. Kendimi geliştirmek ve iş hayatına hazırlamak adına eğitimler alıyor, öğrenirken yaşadığım zorlukları göz önüne alarak yazmaya özen gösteriyorum. LINKEDIN : www.linkedin.com/in/mina-odabaş-478a491b5 GITHUB : https://github.com/minaodabas YOUTUBE : https://www.youtube.com/channel/UCTXfzKGTtNJ82gwNKZFFIvA medıum : https://minaodabas.medium.com/

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. Mart 10, 2021

    Gerçekten çok gerekli bilgiler bir arada verilmiş. Süper 👍👍

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir