WebSocket-yhteyden elinkaari ja toiminta
WebSocket-protokolla mahdollistaa kaksisuuntaisen, reaaliaikaisen viestinnän selaimen ja palvelimen välillä. Toisin kuin perinteisessä HTTP-viestinnässä, jossa asiakas tekee aina aloitteen pyynnöllä, WebSocket-yhteys pysyy auki alkukättelyn jälkeen. Tämä mahdollistaa sen, että sekä asiakas että palvelin voivat lähettää tietoa välittömästi toisilleen ilman jatkuvaa uusien yhteyksien avaamista.
Yhteyden elinkaari koostuu kolmesta päävaiheesta:
- Yhteyden muodostaminen: Selain lähettää kättelypyynnön palvelimelle. Työkalun tilaksi päivittyy tällöin
Yhdistetään laitteeseen ‹address›…. Jos yhteys onnistuu, lokiin kirjataan tapahtumaYhdistetty: ‹address›.. - Aktiivinen tiedonsiirto: Kun yhteys on auki, osapuolet voivat lähettää teksti- ja binäärimuotoisia viestejä. Työkalu pitää kirjaa näistä tapahtumista ja näyttää ne kronologisessa järjestyksessä.
- Yhteyden sulkeminen: Yhteys voidaan sulkea joko asiakkaan tai palvelimen toimesta. Kun yhteys katkeaa, työkalu raportoi sulkemistapahtuman muodossa
Suljettu koodilla ‹code› (‹clean›). Syy: ‹reason›.
Protokollat ws:// ja wss:// sekä niiden turvallisuuserot
WebSocket-osoitteissa käytetään kahta eri protokollakaavaa, jotka määrittävät yhteyden salauksen:
ws://(WebSocket): Salaamaton yhteys, joka vastaa suojaamatonta HTTP-yhteyttä. Tiedonsiirto tapahtuu selkokielisenä, jolloin se on alttiina väliintulohyökkäyksille ja tietojen kuuntelulle.wss://(WebSocket Secure): Salattu yhteys, joka käyttää TLS/SSL-suojausta vastaavasti kuin HTTPS-protokolla. Kaikki liikenne asiakkaan ja palvelimen välillä salataan.
Nykyaikaiset selaimet asettavat tiukkoja turvallisuusrajoituksia. Jos käytät tätä testiasiakasta suojatun HTTPS-yhteyden kautta, selain yleensä estää suojaamattomien ws://-yhteyksien muodostamisen tietoturvasyistä (niin sanottu sekasisältöestys). Tämän vuoksi suojattujen wss://-osoitteiden käyttö on suositeltavaa ja usein välttämätöntä.
Syötteet ja niiden rajoitukset
Työkalun käyttö perustuu kahteen pääasialliseen syötteeseen:
- WebSocket osoite: Kenttään syötetään täydellinen WebSocket-palvelimen osoite. Osoitteen on oltava muodossa
ws://taiwss://. Osoitteen enimmäispituus on 2 048 merkkiä. Yhteys käynnistyy vasta, kun valitset käyttöliittymästä painikkeenYhdistä. - Viesti: Kenttään kirjoitetaan tekstimuotoinen viesti, joka halutaan lähettää palvelimelle. Voit lähettää yhden tekstiviestin kerrallaan. Viestin voi lähettää joko painamalla painiketta
Lähetä viestitai käyttämällä näppäinyhdistelmää Ctrl+Enter tai Command+Enter. Viestin enimmäiskoko on 100 000 merkkiä.
Viestilokin tulkinta ja tulosteet
Työkalun viestiloki tarjoaa tarkan kronologisen näkymän kaikista yhteyden tapahtumista. Jokainen lokirivi sisältää tyyppitunnisteen ja tapahtuman sisällön:
- Lähetetty: Ilmaisee asiakkaalta palvelimelle lähetetyn viestin.
- Vastaanotettu: Ilmaisee palvelimelta vastaanotetun viestin.
- Tapahtuma: Ilmaisee yhteyden tilaan liittyvän muutoksen, kuten yhteyden avaamisen tai sulkeutumisen.
- Teksti: Kertoo, että kyseessä on tekstimuotoinen viesti.
- Binääriviesti: Kertoo, että vastaanotettu viesti on binäärimuotoinen. Binääriviestien kohdalla näytetään viestin koko tavuina muodossa
‹count› tavua.
Lokin suorituskyvyn ja selaimen responsiivisuuden takaamiseksi käytössä on kaksi rajoitussääntöä:
- Loki säilyttää enintään 500 merkintää. Jos tämä raja ylittyy, vanhemmat merkinnät poistetaan ja lokiin ilmestyy ilmoitus
‹count› vanhemmat lokimerkinnät poistettiin, jotta tämä sivu pysyisi responsiivisena.. - Yksittäisen lokimerkinnän esikatselupituus on rajattu 20 000 merkkiin. Tätä pidemmät viestit katkaistaan, ja niiden yhteydessä näytetään ilmoitus
‹count› lisää merkkejä on piilotettu tähän esikatseluun..
Käyttöliittymässä on myös laskurit lähetetyille ja vastaanotetuille viesteille (Lähetetty ja Vastaanotettu). Painikkeen Tyhjennä loki valitseminen tyhjentää vain näytettävät lokimerkinnät, mutta se ei katkaise aktiivista yhteyttä eikä nollaa viestilaskureita.
Virhetilanteet ja sääntöjen noudattaminen
Yhteyden muodostamisen ja viestinnän aikana työkalu valvoo syötteitä ja yhteyden tilaa seuraavien sääntöjen mukaisesti:
- Puutteellinen osoite: Jos syötetty osoite ei ole täydellinen, työkalu näyttää virheen
Anna täydellinen WebSocket-osoite, kuten wss://example.com/socket.. - Virheellinen protokolla: Jos osoitteessa käytetään muuta kuin tuettua kaavaa, näytetään virheilmoitus
Käytä ws://- tai wss://-osoitetta.. - Liian pitkä osoite: Jos osoite ylittää 2 048 merkkiä, näytetään ilmoitus
Osoite on epätavallisen pitkä. Pidä se 2,048-merkkien alla.. - Yhteyskatkos alussa: Jos palvelin ei vastaa kättelyyn 10 sekunnin kuluessa, työkalu keskeyttää yrityksen ja ilmoittaa
Palvelin ei avannut yhteyttä 10 sekunnissa.. - Yleinen yhteysvirhe: Jos yhteys epäonnistuu esimerkiksi virheellisen osoitteen, puuttuvan varmenteen tai palvelimen saavuttamattomuuden vuoksi, näytetään virheilmoitus
Yhteys epäonnistui. Tarkista osoite, varmenne, palvelimen saatavuus ja selaimen käyttösäännöt.. - Lähetys ilman yhteyttä: Jos yrität lähettää viestin ennen kuin yhteys on muodostettu, työkalu ilmoittaa
Yhdistä ennen viestin lähettämistä.. - Liian suuri viesti: Jos viestikentän sisältö ylittää 100 000 merkkiä, työkalu estää lähetyksen ja näyttää ilmoituksen
Viesti on epätavallisen suuri. Pidä se 100,000-merkkien alla..
Selaimen asettamat rajoitukset
Tämä työkalu toimii suoraan selaimessa, mikä asettaa tiettyjä teknisiä rajoituksia standardinmukaisen WebSocket API -rajapinnan vuoksi:
- Ei mukautettuja otsikoita: Työkalu ei voi lisätä mukautettuja HTTP-kättelyotsikoita (kuten
Authorizationtai mukautettuja evästeitä) yhteyden muodostusvaiheessa. - Varmennevirheet: Selain estää yhteyden muodostamisen, jos palvelimen SSL/TLS-varmenne on virheellinen, vanhentunut tai itse allekirjoitettu, eikä työkalu voi ohittaa näitä varoituksia.
- Ei verkkotason näkyvyyttä: Työkalu ei pysty näyttämään verkkotason fragmentteja eikä TCP-tason paketteja.
- Ping/Pong-kehykset: WebSocket-määrittelyn mukaiset Ping- ja Pong-ohjauskehykset käsitellään automaattisesti selaimen toimesta, eikä niitä voida altistaa tai näyttää tämän sovelluksen lokissa.
Tietosuoja ja käsittely
Tietoturvan ja yksityisyyden varmistamiseksi kaikki tietojen käsittely tapahtuu paikallisesti käyttäjän selaimessa. Mitään syötettyjä osoitteita, viestejä tai lokitietoja ei ladata BroBroGo-palvelimelle eikä tallenneta sivun toimesta. Osoitteesi ja viestisi siirtyvät suoraan omasta selaimestasi sille WebSocket-palvelimelle, jonka osoitteen olet syöttänyt.
Koska viestit lähetetään suoraan kohdepalvelimelle, on tärkeää huomioida kohdepalvelimen omat tietosuojakäytännöt. Käyttöliittymässä näytetään tästä muistutus: Poista henkilökohtaiset tunnisteet ja arkaluontoiset juridiset, taloudelliset tai terveystiedot ennen yhteyden muodostamista. Selaimesi lähettää viestejä suoraan syöttämällesi palvelimelle, eikä tämä sivu voi hallita kyseisen palvelimen kirjaamista tai säilyttämistä..
Usein kysytyt kysymykset (FAQ)
Mitä WebSocket-tietoja voin tarkastaa täällä?
Näet jokaisen selaimesi paljastaman tekstin tai binääriviestin, sen suunnan, ajan ja koon sekä lopullisen sulkemiskoodin, syyn ja puhtaan sulkemisen tilan. Selainsivut eivät voi paljastaa verkkotason fragmentteja tai Ping- ja Pong-ohjauskehyksiä.
Miksi yhteys katkeaa, vaikka osoite toimii muualla?
Suojatulla sivulla selain saattaa vaatia wss://. Palvelimen on myös hyväksyttävä selainyhteydet ja sivun alkuperä. Tämä asiakas ei voi lisätä mukautettuja kättelyotsikoita, ohittaa varmennevirheitä tai ohittaa palvelimen käyttösääntöjä.
Voinko testata tuotantotiedoilla tai arkaluontoisilla tiedoilla?
Käytä synteettistä dataa aina kun mahdollista. Poista nimet, tilitiedot, oikeudelliset tiedot, taloudelliset tiedot ja terveystiedot ennen lähettämistä. Viestit menevät valitsemallesi palvelimelle, jonka kirjaus- ja säilytyssäännöt eivät ole tämän sivun hallinnassa.
Mitä tarkoitetaan "puhtaalla" sulkeutumisella?
Kun yhteys sulkeutuu, työkalu ilmoittaa, oliko sulkeutuminen puhdas vai ei puhdasta. Puhdas sulkeutuminen tarkoittaa, että molemmat osapuolet suorittivat WebSocket-protokollan mukaisen sulkemiskättelyn hallitusti. Jos yhteys katkeaa äkillisesti esimerkiksi verkkovirheen tai palvelimen kaatumisen vuoksi, sulkeutuminen on ei puhdasta.