DevToolPal
TR
1xx Bilgilendirme

101 Switching Protocols

Protokol Değiştiriliyor

Ne anlama gelir

Sunucu, istemcinin Upgrade başlığında istediği protokole, çoğunlukla WebSocket'e geçmeyi kabul eder. Bu yanıttan sonra bağlantı yeni protokolü konuşur.

Yaygın nedenler

  • WebSocket el sıkışması başarılı oldu
  • İstemci h2c (şifresiz HTTP/2) yükseltmesi istedi
  • Özel bir protokol yükseltmesi kabul edildi

Nasıl düzeltilir

İstemci veya ziyaretçiyseniz

WebSocket için 101 başarı demektir. 101 beklerken 200 veya 400 aldıysanız URL'nin WebSocket uç noktasını gösterdiğini ve proxy'lerin Upgrade ile Connection başlıklarını ilettiğini kontrol edin.

Sitenin veya API'nin sahibiyseniz

nginx veya yük dengeleyici arkasında Upgrade ve Connection'ı açıkça iletin (proxy_set_header Upgrade $http_upgrade; Connection "upgrade") ve uzun ömürlü soketler için boşta kalma sürelerini artırın.

Örnek yanıt

HTTP/1.1
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Belirtim

RFC 9110 §15.2.2

SSS

› WebSocket'im neden 101 yerine 400 döndürüyor?

El sıkışma başlıkları eksik veya değiştirilmiş; çoğu zaman Upgrade/Connection'ı silen bir proxy yüzünden, ya da Sec-WebSocket-Key veya sürüm geçersiz.

› HTTP/2 101 kullanır mı?

Yalnızca nadir görülen şifresiz h2c yükseltmesinde. Tarayıcılar HTTP/2'yi TLS ALPN ile anlaşır ve HTTP/2'nin kendisinde 101 yanıtı yoktur.