Otanse

Web Servisleri Nasıl Çalışır?

Web servisleri, günümüz dijital dünyasının görünmeyen ancak en kritik yapı taşlarından biridir. İnternetteki uygulamaların birbiriyle konuşmasını, veri alışverişi yapmasını ve otomatik süreçlerin çalışmasını sağlayan bu sistemler; modern yazılım mimarisinin temel bileşenleri arasındadır. Peki web servisleri tam olarak nasıl çalışır? Hangi prensiplere dayanır? Bu yazıda, web servislerinin çalışma mantığını en sade ve anlaşılır şekliyle ele alıyoruz.

Web Servisi Nedir?

Web servisi, internet üzerinden iki farklı sistemin birbiriyle veri alışverişi yapmasını sağlayan bir iletişim yöntemidir.
Bir web servisi, temelde bir uygulamanın fonksiyonlarını başka bir uygulamaya açmak anlamına gelir.

Web servislerinin temel özellikleri:

  • Platformdan bağımsızdır (Windows, Linux, Mac fark etmeksizin çalışır).

  • Programlama dillerinden bağımsızdır (PHP, Python, Java, C#, Go vb.).

  • İnternet protokolleri kullanır (HTTP, HTTPS).

  • Veriyi standart formatlarla iletir (JSON, XML).

Örneğin, bir hava durumu uygulaması başka bir servise bağlanıp “Ankara’da hava nasıl?” diye sorabilir ve aldığı yanıtla ekrana güncel hava durumunu gösterebilir.

Web Servislerinin Temel Çalışma Mantığı

Web servislerinin çalışma prensibi aslında oldukça nettir: istemci (client) bir istekte bulunur, sunucu (server) bu isteği işler ve bir yanıt (response) döner.

Bu sürecin adımları şöyledir:

  1. İstemci (client) bir istek gönderir.
    Kullanıcı ya da başka bir sistem, bir URL üzerinden sunucuya talepte bulunur.

  2. Sunucu isteği alır ve işler.
    Veritabanına bağlanır, gerekli hesaplamaları yapar ya da talep edilen işlemi gerçekleştirir.

  3. Sunucu, istemciye bir cevap gönderir.
    Bu yanıt JSON veya XML formatındadır.

  4. İstemci gelen veriyi işleyip kullanıcıya sunar.
    Uygulama arayüzünde gösterilir veya başka sistemlerde kullanılır.

Bu döngü saniyeler içinde gerçekleşir ve milyonlarca uygulama bu sistemi kullanarak veri alışverişi yapar.

Web Servislerinde Kullanılan Temel Protokoller

Web servislerinin iletişimi belirli protokoller aracılığıyla gerçekleşir.

1. HTTP / HTTPS

En yaygın kullanılan protokoldür.
Web servisleri, tıpkı web sayfaları gibi GET, POST, PUT, DELETE gibi HTTP yöntemleri kullanır.

2. REST (Representational State Transfer)

Günümüzde en popüler web servis mimarisidir.
Basit, hızlı ve anlaşılırdır.

Özellikleri:

  • JSON kullanır

  • Kolay ölçeklenir

  • Hafif bir mimariye sahiptir

3. SOAP (Simple Object Access Protocol)

REST’ten daha eski ve ağır bir protokoldür.
Daha çok kurumsal yapılarda kullanılır.

Özellikleri:

  • XML formatını kullanır

  • Daha sıkı güvenlik kurallarına sahiptir

4. GraphQL

Daha yeni ve esnek bir veri sorgulama yapısı sağlar.

Ayırt edici yanları:

  • Tek endpoint ile çalışır

  • İstemci sadece ihtiyacı kadar veri talep eder

  • Veri israfını azaltır

Web Servislerinin Bileşenleri

Bir web servisinin sağlıklı şekilde çalışması için birkaç temel bileşen bulunur.

API Endpoint'leri

Sunucunun dinlediği, istemcinin de istek gönderdiği adreslerdir.
Örnek:
https://api.site.com/users/

Veri Formatları (JSON – XML)

En yaygın veri aktarma formatı JSON’dur.
JSON, hafif ve okunabilir olduğu için modern uygulamalarda standart hale gelmiştir.

Authentication (Kimlik Doğrulama)

Güvenlik için önemlidir.
API anahtarları, Token, OAuth gibi yöntemlerle yapılır.

Rate Limiting

Bir istemcinin belirli aralıklarla gönderebileceği istek sınırıdır.
Servisin kötüye kullanılmasını engeller.

Web Servisi Türleri

1. RESTful Web Servisleri

Modern web projelerinin büyük çoğunluğu REST mimarisi ile çalışır.

Avantajları:

  • Daha hızlıdır

  • Daha az bant genişliği kullanır

  • JSON ile uyumludur

2. SOAP Web Servisleri

Kurumsal sistemlerde, banka entegrasyonlarında tercih edilir.

3. GraphQL Servisleri

Tek endpoint üzerinden esnek veri sorgulama avantajı sunar.

4. Streaming Web Servisleri

Gerçek zamanlı veri akışı gerektiren sistemler için kullanılır.
Örnek: Canlı sohbet, canlı skor servisleri.

Web Servisleri Örneği (Basit REST İstekleri)

GET – Veri Listeleme

GET https://api.ornek.com/products

POST – Veri Oluşturma

POST https://api.ornek.com/products Body: { "name": "Laptop", "price": 15000 }

PUT – Veri Güncelleme

PUT https://api.ornek.com/products/12

DELETE – Veri Silme

DELETE https://api.ornek.com/products/12

Bu örnekler, REST tabanlı bir web servisine gönderilen temel istek türlerini göstermektedir.

Web Servisleri Nasıl Güvenli Hale Getirilir?

1. HTTPS Kullanımı

Verilerin şifreli şekilde iletilmesini sağlar.

2. API Key / Token Güvenliği

Her isteğin kimlik doğrulamasından geçmesi gerekir.

3. Rate Limit ve Firewall Kullanımı

Servis saldırılara karşı korunur.

4. Loglama ve İzleme

Hatalar, trafik anormallikleri ve performans düşüşleri takip edilir.

5. CORS Ayarlarının Doğru Yapılması

Sadece izin verilen kaynaklardan erişim sağlanır.

Web Servislerinin Avantajları

  • Sistemlerin birbiriyle kolayca iletişim kurmasını sağlar

  • Farklı platformlar arasında veri paylaşımını mümkün kılar

  • Maliyetleri düşürür

  • Otomasyon sağlar

  • Mikro servis mimarilerinin temelini oluşturur

  • Ölçeklenebilirlik sunar

Sıkça Sorulan Sorular (SSS)

1. Web servisi ile API aynı şey mi?
Benzer kavramlardır ancak API daha geniş bir kapsama sahiptir; web servisleri API’nin bir alt sınıfıdır.

2. Web servisi kullanmak için yazılım bilmek şart mı?
Genellikle evet. Web servisleri geliştiriciler için tasarlanmış yapılardır.

3. REST mi daha iyi SOAP mı?
Modern projelerde REST genellikle tercih edilir. SOAP ise finans ve kamu sistemlerinde yaygındır.

4. JSON neden daha çok kullanılıyor?
Hafif, hızlı, okunabilir ve tüm platformlarla uyumludur.

5. Web servisleri mobil uygulamalarda da kullanılır mı?
Evet. Mobil uygulamalar büyük ölçüde web servisleri üzerinden veri alır.

6. Web servisleri gerçek zamanlı çalışabilir mi?
Evet. WebSocket gibi teknolojilerle gerçek zamanlı veri aktarımı mümkündür.

7. API anahtarı nedir?
Servise erişim yetkisini belirleyen benzersiz güvenlik anağıdır.

8. Web servisi olmadan entegrasyon yapılabilir mi?
Manuel yöntemlerle evet, ancak sürdürülebilir olmadığı için önerilmez.

9. Ücretli web servisleri var mı?
Evet. Harita, hava durumu, AI servisleri gibi pek çok API ücretlidir.

10. Web servisleri internet olmadan çalışır mı?
Hayır, web servisleri internet üzerinden iletişim kurar.

Web servisleri, dijital dünyada uygulamaların birbirine bağlanmasını sağlayan kritik sistemlerdir. İstemci–sunucu mantığıyla çalışır, veri alışverişini standart formatlarla gerçekleştirir ve günümüz yazılım mimarisinin neredeyse tamamında aktif rol oynar.

Doğru tasarlanmış bir web servisi; hızlıdır, güvenlidir, ölçeklenebilir ve farklı platformlarla kolayca entegrasyon sağlar. Bu nedenle modern yazılım geliştirmede web servislerini anlamak, kaliteli ve sürdürülebilir projeler üretmek için vazgeçilmezdir.

Bu yazıyı paylaş

İlgili Duyurular