Anasayfa   >   Genel   >   WebSocket Nedir?

WebSocket Nedir?

Monster Notebook  7 Ekim 2025

Genel

İnternet deneyimi sürekli gelişirken, web uygulamalarının etkileşim şekilleri de dönüşüyor. Eskiden web siteleri tek yönlü iletişim sunardı. Siz talep gönderirdiniz, sunucu da size bir yanıtla dönerdi. Fakat artık modern uygulamalar canlı sohbetler ve çok oyunculu oyunlar gibi gerçek zamanlı etkileşimleri gerektiriyor. Geleneksel internet protokollerinin yetersiz kaldığı yerde de WebSocket devreye giriyor.

WebSocket’in Temel Tanımı: Çift Yönlü, Sürekli İletişim

WebSocket, sunucular arasında tam çift yönlü (full-duplex) ve kalıcı iletişim kanalı oluşturan bir protokol. Tam çift yönlü demek, hem istemcinin hem de sunucunun eş zamanlı olarak birbirlerine veri gönderebileceği anlamına geliyor. Tıpkı iki kişinin aynı anda konuşabildiği bir telefon görüşmesi gibi.

Geleneksel HTTP’nin tek yönlü, istek-yanıt modelinin aksine WebSocket bir kez bağlantı kurulduktan sonra bağlantıyı açık tutuyor. Sürekli bağlantı sayesinde sunucu, anlık mesaj gelmesi gibi yeni bilgi olduğunda anında istemciye veri gönderebiliyor. İstemcinin sürekli sunucuya “yeni bir şey var mı?” diye sormasına gerek kalmıyor.

Veri transferini çok daha verimli hale getirdiği için de çevrimiçi oyunlar, anlık bildirim sistemleri gibi hızlı veri alışverişi gerektiren uygulamalarda WebSocket tercih ediliyor.

WebSocket Nasıl Çalışır? İletişim Süreci

WebSocket iletişimi geleneksel HTTP protokolü üzerinden başlatılıyor fakat bağlantı kurulduktan sonra özel bir protokole geçiş yapılıyor. Geçişe handshake (el sıkışma) adı veriliyor. İstemci, WebSocket protokolüne geçmek istediğini belirten özel istek gönderiyor. Sunucu isteği kabul ederse, bağlantı WebSocket’e terfi ediyor, kalıcı çift yönlü iletişim kanalına dönüşüyor.

Bu noktadan itibaren hem istemci hem de sunucu, aynı bağlantı üzerinden veri gönderebiliyor. Veriler, WebSocket çerçevesi (frame) adı verilen küçük paketlerle taşınıyor. Örneğin canlı sohbet uygulamasında kullanıcı mesaj gönderdiğinde, mesaj WebSocket çerçevesi içinde anında karşı tarafa ulaşıyor.

WebSocket’in Kullanım Alanları

WebSocket’in sağladığı anlık iletişim yeteneği birçok alanda kullanılmasını sağlıyor elbette. Bunlara bakacak olursak:

  • Mesajlaşma Uygulamaları: En belirgin kullanım alanlarından biri. WhatsApp Web, Slack veya Telegram gibi uygulamalar, kullanıcılar arasında anlık mesajlaşmayı sağlamak için WebSocket’i kullanıyor. Yeni mesaj geldiğinde sunucu bunu anında ilgili istemcilere iletiyor ve sayfa yenilemek tarih oluyor.
  • Çevrimiçi Oyunlar: Çok oyunculu çevrimiçi oyunlar için düşük gecikme süresi hayati önemde. WebSocket oyuncu hareketlerini, oyun içi olayları ve skor tablolarını anında senkronize edebiliyor.
  • Canlı Bildirimler: Sosyal medya bildirimleri, yeni e-postalar, haber güncellemeleri gibi anlık bildirim sistemleri, WebSocket sayesinde size anında ulaşıyor.
  • Gerçek Zamanlı İş Birliği Araçları: Google Docs gibi eş zamanlı olarak birden fazla kullanıcının aynı belge üzerinde çalıştığı uygulamalar, WebSocket sayesinde tüm değişiklikleri senkronize ediyor.

WebSocket Güvenliği: Dikkat Edilmesi Gerekenler

WebSocket, web uygulamalarına eşsiz gerçek zamanlı iletişim yeteneği katsa da, bu güçlü protokolün kendine özgü güvenlik riskleri de var. WebSocket bağlantılarının doğası gereği kalıcı olması, geleneksel HTTP’den farklı güvenlik önlemleri almayı gerektiriyor.

Her zaman WebSocket Secure (WSS) kullanmak hayati önem taşıyor. Tıpkı HTTP’nin güvenli versiyonu olan HTTPS gibi, WSS de TLS/SSL şifrelemesi kullanarak istemci ile sunucu arasındaki tüm iletişimi uçtan uca şifreliyor. Şifreleme hassas verilerin üçüncü şahıslar tarafından ele geçirilmesini engeller, iletişimin gizliliğini koruyor.

WebSocket bağlantısı kurulurken, istemcinin geldiği kaynak adresini belirten Origin başlığı da HTTP yükseltme isteğiyle birlikte sunucuya ulaşıyor. Yalnızca güvenilen kaynaklardan gelen bağlantı isteklerini kabul ederek Cross-Site WebSocket Hijacking (CSWSH) gibi saldırıların önüne geçebilirsiniz.

Benzer şekilde WebSocket üzerinden gelen her veriyi potansiyel tehdit olarak görmek gerekiyor. Sağlam kimlik doğrulama ve yetkilendirme yapısı kurmak önem kazanıyor. Bağlantı kurulduktan sonra bile, her gelen mesajın gerçekten yetkili kullanıcıdan gelip gelmediğini kontrol etmek gerekiyor. Bunun için oturum tabanlı kontroller kullanarak her mesaj bağlamında kullanıcıyı doğrulayabilirsiniz. Tüm verilerinizin güvende olduğu bir kullanım deneyimini mümkün kılacak ofis bilgisayarları için Monster Notebook’a göz atmayı unutmayın.

Paylaş: