101
Switching Protocols
Yleinen selitys 101-tilakoodista
Kuvittele, että olet ravintolassa ja haluat tilata juoman. Tarjoilija tulee luoksesi ja kysyy tilaustasi. Sanot: "Haluaisin lasillisen vettä, mutta jos teillä on tuoretta appelsiinimehua, ottaisin mieluummin sen." Tässä annat tarjoilijalle periaatteessa kaksi vaihtoehtoa ja kerrot hänelle, että olet joustava. Pyyntö vaihtaa protokollaa toimii samalla tavalla.
Kun verkkoselain tai muu asiakastyökalu lähettää pyynnön palvelimelle, asiakas voi ehdottaa siirtymistä toiseen tietoliikenneprotokollaan, koska se uskoo, että tämä toinen protokolla olisi tehokkaampi tai paremmin sopiva. Esimerkiksi alun perin HTTP-yhteyttä käyttävä asiakas voi ehdottaa siirtymistä WebSockets-yhteyteen, jotta reaaliaikaista dataa varten olisi aina avoin yhteys.
Kun palvelin hyväksyy tämän ehdotuksen, se vastaa tilakoodilla 101 Switching Protocols ja kertoo asiakkaalle: "Hyvä on!". Vaihdetaan protokollia". Tästä eteenpäin asiakkaan ja palvelimen välinen viestintä jatkuu uuden, sovitun protokollan kautta.
HTTP-tilakoodin 101 määrittely
Lähde / Lainaus: HTTP-tilakoodi 101 Switching Protocols on määritelty 6.2.2:n RFC7231 kohdassa RFC7231.
HTTP-protokolla
Kuinka heittää 101-tilakoodi PHP:llä?
HTTP-tilakoodin 101 heittämiseen verkkosivulle voidaan käyttää PHP-funktiota http_response_code. Syntaksi on seuraava: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testaa HTTP-tilakoodi 101
Jotta HTTP-tilakoodi (tässä tapauksessa 101 Switching Protocols) ja muut tiedot voidaan näyttää asiakaspuolella, kehityskonsoli on avattava F12-näppäimellä. Siirry sitten "Network"-välilehdelle. Nyt sivu voidaan avata, verkkosivuston (esimerkki index.php) pitäisi näkyä verkko-välilehdellä. Tämä on valittava ja sen jälkeen on valittava Herder-osio. Käyttäjä näkee sitten seuraavan tuloksen:
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Tila: 101 Switching Protocols
Nuo: Network
IP-osoite: XX.XX.XX.XX
Selainyhteensopivuus 101-tilakoodin kanssa
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Vakiot ohjelmointikielissä
HttpStatusCode.SwitchingProtocols
http.StatusSwitchingProtocols
Response::HTTP_SWITCHING_PROTOCOLS
httplib.SWITCHING_PROTOCOLS
http.client.SWITCHING_PROTOCOLS
http.HTTPStatus.SWITCHING_PROTOCOLS
:switching_protocols
HttpServletResponse.SC_SWITCHING_PROTOCOLS