WebSocket-kättelyn selitys
Tutkikaa HTTP-pohjaista kättelyprosessia, joka päivittää tavallisen HTTP-yhteyden WebSocket-yhteydeksi.
WebSocket-kättelyn selitys on ilmainen WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-kurssilla on yhteensä 4 oppituntia.
Kättely: yhteyden päivitys
Kuvittele soittavasi ystävälle, mutta ennen keskustelua sovitte salaisesta kielestä. WebSocket-kättely toimii samalla tavalla!
Se on ratkaiseva alkuvaihe, jossa selaimesi (asiakas) ja palvelin sopivat tavallisen HTTP-yhteyden vaihtamisesta WebSocket-yhteydeksi.
HTTP:n rajoitusten ylittäminen
Perinteinen HTTP on suunniteltu lyhyitä, yksittäisiä pyyntöjä ja vastauksia varten. Ajattele verkkosivun lataamista: teet pyynnön, palvelin lähettää vastauksen ja yhteys sulkeutuu.
- Yksisuuntainen: Asiakas tekee pyynnön, palvelin vastaa.
- Lyhytkestoinen: Yhteys sulkeutuu jokaisen vuorovaikutuksen jälkeen.
- Lisäkuorma: Jokainen uusi pyyntö edellyttää uuden yhteyden muodostamista.
WebSockets tarvitsee pysyvän kaksisuuntaisen väylän reaaliaikaisia tietoja varten.
Asiakas aloittaa päivityksen
Kättely alkaa, kun asiakas (selaimesi) lähettää palvelimelle tavallisen HTTP GET -pyynnön. Se ei kuitenkaan ole täysin ”tavallinen”!
Pyyntö sisältää erityisiä HTTP-otsakkeita, jotka ilmoittavat asiakkaan haluavan ”päivittää” yhteyden WebSocket-protokollaan. Se on kuin lisäisit puheluusi erityisen pyynnön salaiselle kielelle vaihtamisesta.
Vaihtoaikeen ilmoittaminen
Kaksi keskeistä otsaketta kertoo palvelimelle selvästi, että asiakas haluaa WebSocket-yhteyden:
Upgrade: websocket: Tämä otsake määrittää protokollan, johon asiakas haluaa vaihtaa.Connection: Upgrade: Tämä yleinen HTTP-otsake ilmaisee, että asiakas haluaa päivittää tai vaihtaa protokollaa.
Yhdessä ne muodostavat päivityspyynnön ytimen.
Asiakkaan salainen avain
Toinen tärkeä asiakkaan lähettämä otsake on Sec-WebSocket-Key.
- Se on 16-tavuinen satunnaisarvo, joka on koodattu Base64-muotoon.
- Se toimii kullekin kättelylle yksilöllisenä ja ennakoimattomana ”nonce-arvona” (kerran käytettävänä lukuna).
- Palvelin käyttää tätä avainta osoittaakseen ymmärtävänsä WebSocket-protokollaa ja estääkseen tietyntyyppiset välimuisti- tai välityspalvelinongelmat.
Protokollaversion tarkistus
Sec-WebSocket-Version-otsake on yksinkertainen mutta tärkeä.
Se kertoo palvelimelle, mitä WebSocket-protokollan versiota asiakas käyttää. Tällä hetkellä standardiversio on 13.
Näin varmistetaan, että asiakas ja palvelin puhuvat samaa WebSocket-kielen ”murretta”, mikä takaa yhteensopivuuden.
Palvelin vastaa: 101 Switching Protocols
Jos palvelin tukee WebSocketsia ja hyväksyy päivityksen, se lähettää asiakkaalle erityisen HTTP-vastauksen.
Vastauksen tärkein osa on HTTP-tilakoodi 101: Switching Protocols. Tämä koodi tarkoittaa nimenomaisesti, että palvelin vaihtaa asiakkaan pyytämään protokollaan.
Palvelimen vahvistusavain
Palvelimen vastaus sisältää myös keskeisiä otsakkeita:
Upgrade: websocketjaConnection: Upgrade: Nämä vahvistavat asiakkaan otsakkeita mukaillen, että palvelin hyväksyy päivityksen.Sec-WebSocket-Accept: Tämä on palvelimen muodostama tiiviste, joka käyttää asiakkaanSec-WebSocket-Key-avainta ja tiettyä ”taikamerkkijonoa”. Se osoittaa, että palvelin ymmärsi avaimen ja tukee WebSocketsia.
Kättelyavaimen tarkistus
Olet tutustunut WebSocket-kättelyssä käytettäviin tärkeisiin otsakkeisiin.
Minkä seuraavista otsakkeista asiakas lähettää WebSocket-päivityksen aloittamiseksi ja joka sisältää satunnaisen, yksilöllisen arvon?
Yhteys päivitetty ja valmis!
Kun asiakas vastaanottaa ja vahvistaa palvelimen 101-vastauksen, jossa on oikea Sec-WebSocket-Accept-otsake, HTTP-kättely on valmis!
Yhteys on nyt päivitetty täysdupleksiseksi WebSocket-yhteydeksi. Sekä asiakas että palvelin voivat lähettää ja vastaanottaa tietoja samanaikaisesti tämän pysyvän yhteyden kautta, mikä mahdollistaa aidon reaaliaikaisen viestinnän.
Opi WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 47
Usein kysytyt kysymykset
Onko oppitunti ”WebSocket-kättelyn selitys” ilmainen?
Kyllä – oppitunnin ”WebSocket-kättelyn selitys” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-kurssin, päivitä CoddyKit PROhon. WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”WebSocket-kättelyn selitys”?
Tutkikaa HTTP-pohjaista kättelyprosessia, joka päivittää tavallisen HTTP-yhteyden WebSocket-yhteydeksi. Harjoittelet WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”WebSocket-kättelyn selitys”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-oppitunnilla?
Kyllä. Jokainen WebSockets- ja reaaliaikaisten järjestelmien ohjelmointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- WebSocket-kättelyn selitys
- WebSocket-datan kehystys ja viestit
- Yhteyden elinkaari ja tilat
- Aliprotokollat, laajennukset ja pakkaus