
WebSocket, istemci ve sunucu arasında düşük gecikmeli, tam çift yönlü (full-duplex) bir iletişim sağlayan internet protokolüdür. HTTP protokolünden farklı olarak sürekli açık kalan bir TCP bağlantısı üzerinde veri alışverişine izin verir. Bu özellik, WebSocket’i anlık veri güncellemelerinin ve gerçek zamanlı etkileşimin gerekli olduğu uygulamalarda tercih edilen bir iletişim yöntemi hâline getirmiştir.
WebSocket, geleneksel HTTP polling ve long polling yöntemlerine göre daha az ağ trafiği üretir ve daha düşük gecikme süresi sunar. WebSocket teknolojisi, özellikle Nesnelerin İnterneti (IoT), online oyunlar, anlık mesajlaşma sistemleri ve canlı yayın platformları gibi uygulamalarda verimli bir veri iletişimi sağlamaktadır. Bu protokol, hem düşük bant genişliği kullanımı hem de yüksek verimlilik gerektiren senaryolar için uygun bir çözüm olarak geliştirilmiştir.
WebSocket protokolü, iki temel aşamadan oluşur: bağlantı kurulum aşaması ve veri iletim aşaması. Bu yapısı, sürekli bağlantı sağlayarak veri iletimini daha verimli hâle getirir.
WebSocket iletişimi, geleneksel bir HTTP isteği ile başlar. İstemci, bir HTTP "Upgrade" isteği göndererek mevcut bağlantının WebSocket protokolüne yükseltilmesini talep eder. Sunucu bu talebi kabul ettiğinde, TCP tabanlı, sürekli açık bir bağlantı kurulmuş olur. Bu süreç aşağıdaki adımları içerir:
Bu aşamadan sonra iletişim tam çift yönlü ve sürekli hâle gelir, her mesaj için yeni bir TCP bağlantısı kurulmasına gerek kalmaz.

WebSocket Mimarisi (YZ ile çizilmiştir)
Bağlantı kurulduktan sonra, istemci ve sunucu arasındaki iletişim TCP bağlantısı üzerinden çerçeveler (frames) hâlinde gerçekleşir. WebSocket, hem metin (UTF-8 kodlamalı) hem de ikili (binary) veri iletimini destekler. Ayrıca bağlantı esnasında veri bütünlüğü korumak için ping-pong mekanizmaları kullanılır.
WebSocket, istemci ve sunucu arasında doğrudan, sürekli bir kanal oluşturarak iletişim verimliliğini artırır. Protokol, geleneksel HTTP yöntemlerinin aksine, her mesaj gönderiminde başlık bilgilerinin tekrar edilmesini önler.
WebSocket istemcisi, bağlantıyı başlatan taraftır. Sunucu ise, istemciden gelen Upgrade isteğini kabul eder ve veri iletimi için gerekli ortamı hazırlar. Bu iletişim modeli, IoT cihazları gibi sınırlı kaynaklara sahip sistemler için önemli ölçüde ağ yükünü azaltır.

İstemci ve sunucu arasında sürekli açık bir TCP bağlantısı üzerinden gerçekleşen tam çift yönlü veri iletim süreci şematik olarak gösterilmiştir. (YZ ile çizilmiştir)
WebSocket protokolünün performansı, HTTP polling ve long polling yöntemlerine kıyasla farklı avantajlar sunar.
Yapılan deneysel çalışmalarda, WebSocket’in bir mesajın iletimindeki gecikme süresinin HTTP polling yöntemlerine göre üç kat daha düşük olduğu tespit edilmiştir. WebSocket, özellikle yüksek frekansta veri gönderiminin gerekli olduğu uygulamalarda (örneğin sensör verileri aktarımı gibi) önemli bir üstünlük sağlar.
WebSocket, düşük gecikmenin yanı sıra yüksek iş çıkarma oranı (throughput) sunar. Gerçekleştirilen deneylerde, WebSocket protokolünün küçük veri yüklerinde diğer yöntemlere kıyasla daha fazla veri işleyebildiği görülmüştür.
WebSocket kullanımı, özellikle sınırlı kaynaklara sahip cihazlarda enerji tasarrufu sağlamaktadır. HTTP polling yönteminde her yeni mesaj için yeniden bağlantı kurulması gerektiğinden dolayı, WebSocket sürekli bağlantı yapısıyla daha düşük enerji tüketimi gerçekleştirir.
WebSocket protokolü aşağıdaki alanlarda yaygın olarak kullanılmaktadır:

WebSocket'in bazı kullanım alanları (YZ ile çizilmiştir)
Bu alanlarda WebSocket'in sunduğu düşük gecikme, az ağ yükü ve enerji verimliliği gibi avantajlar belirleyici faktör olmaktadır.

Henüz Tartışma Girilmemiştir
"WebSocket " maddesi için tartışma başlatın
WebSocket Protokolünün Yapısı
Bağlantı Kurulumu (Handshake)
Veri İletimi
WebSocket Mimarisi
İstemci-Sunucu Modeli
WebSocket Performansı
Gecikme Süreleri
İş Çıkarma Oranı
Enerji Tüketimi
WebSocket Kullanım Alanları
Bu madde yapay zeka desteği ile üretilmiştir.