WebSocket’ler nasıl çalışır?

WebSockets, tek bir TCP bağlantısı üzerinden tam çift yönlü, gerçek zamanlı iletişim kanalları sağlamak üzere tasarlanmış bir iletişim protokolüdür. İstek-yanıt modelini izleyen geleneksel HTTP’den farklı olarak WebSockets, istemci ile sunucu arasında sürekli ve çift yönlü iletişim sağlar. Bir el sıkışma işlemi yoluyla bir WebSocket bağlantısı kurulduğunda, bağlantıların tekrar tekrar açılıp kapatılmasına gerek kalmadan veriler her iki yönde aynı anda değiş tokuş edilebilir.

WebSocket nasıl çalışır?

WebSocket bağlantısı, istemci tarafından başlatılan bir el sıkışma ile başlar; burada bağlantıyı HTTP’den WebSocket’e yükseltmek için sunucuya bir HTTP isteği gönderilir. Sunucu WebSockets’i destekliyorsa, protokol anahtarının kabul edildiğini belirten 101 durum koduyla yanıt verir. Bu el sıkışmanın ardından WebSocket bağlantısı kurulur ve hem istemci hem de sunucu birbirlerine serbestçe ve asenkron olarak mesaj gönderebilir. Bu, geleneksel yoklama yöntemlerine kıyasla gecikmeyi azaltır ve verimliliği artırır.

WebSocket bağlantısı, verilerin tek, uzun ömürlü bir TCP bağlantısı üzerinden gerçek zamanlı olarak gönderilip alınmasına olanak tanıyan kalıcı bir bağlantıdır. Bu bağlantı bir HTTP anlaşmasıyla başlar ve kurulduktan sonra istemci ile sunucu arasında düşük gecikmeli iletişime olanak tanır. Bağlantı, her iki tarafça da açıkça kapatılana kadar açık kalır; bu da verimli, sürekli veri alışverişini kolaylaştırır.

WebSocket, güvenli olmayan bağlantılar için 80 numaralı bağlantı noktasını ve güvenli bağlantılar için (wss://) 443 numaralı bağlantı noktasını kullanarak TCP protokolü üzerinden çalışır. Her istek için yeni bir bağlantı kuran HTTP’den farklı olarak WebSocket, birden fazla mesaj için kullanılabilecek tek bir bağlantıyı sürdürerek ek yükü en aza indirir ve gerçek zamanlı uygulamaların performansını artırır.

WebSocket API, web tarayıcılarındaki WebSocket bağlantılarıyla etkileşimde bulunmak için standartlaştırılmış bir yol sağlar. Bağlantı kurmaya, mesaj gönderip almaya ve bağlantının açılması, mesajın alınması ve bağlantının kapatılması gibi olayların yönetilmesine yönelik yöntemleri ve özellikleri içerir. API, geliştiricilerin verimli, çift yönlü iletişim yetenekleriyle gerçek zamanlı web uygulamaları oluşturmasına olanak tanır.

Recent Updates