Denne opplæringen vil bryte ned hva disse teknologiene innebærer og hva hver og en av dem tilbyr. Dette vil hjelpe deg å forstå og ta et valg avhengig av funksjonene du leter etter.
MERK: Denne guiden er ikke en grunning på noen av teknologiene som er nevnt ovenfor. Det er ganske enkelt en oversikt over hva man kan tilby over den andre.
La oss komme i gang:
Websockets
WebSocket er en standardprotokoll som gir en vedvarende forbindelse mellom en server og en klient. Websockets er toveis. Dette betyr at en server og klient og sender og mottar data er i samme kanal. Det er en full-dupleks kommunikasjonsprotokoll implementert på TCP/IP-kontakten.
WebSockets hjelper til med å motvirke grensene for HTTP -protokollen.
For det første er HTTP -protokollen ikke toveis. Klienten ber om en spesifikk ressurs på serveren. Når serveren finner og sender ressursen til klienten, lukkes tilkoblingen. Det betyr på en veldig aktiv dataflyt som streamingtjeneste, det vil være for mange serverforespørsler.
I motsetning til HTTP, kan WebSockets opprettholde en forbindelse til enten klienten eller serveren avslutter den. Det fungerer ved først å lage et håndtrykk mellom klienten og serveren, etterfulgt av en oppgradering. Når den er etablert, er en strøm av data mellom serveren og klienten etablert.
Ovennevnte diagram illustrerer hvordan HTTP -protokoll fungerer sammenlignet med websockets.
MERK: Diagrammene ovenfor gir ikke en fullverdig arbeidskunnskap om verken HTTP- eller WebSocket-protokoller.
Http/2
HTTP/2 eller HTTP2 er den andre implementeringen av HTTP -nettverksprotokollen som brukes til å definere format og overføring av data. Hensikten med HTTP/2 er å forbedre ytelsen over HTTP ved å redusere latens, brukt ved å aktivere funksjoner som full forespørsel og respons, og minimere protokolloverhead via komprimering av overskriftsfiler.
HTTP/2 støttes i store nettlesere og brukes rundt på nettet.
Følgende er noen av fordelene som tilbys av HTTP/2:
Ovennevnte er en grunnleggende oversikt over funksjonene i HTTP/2 -protokollen. Nedenfor er en enkel illustrasjon av HTTP -protokollen.
Kreditt: Mozilla Developer Network https: // utvikler.Mozilla.ORG/EN-US/DOCS/WEB/HTTP/OVERSIKT
Server-sente hendelser
Server-stent-arrangement (SSES) er en teknologi som lar klienten motta oppdateringer fra en HTTP-server. Selv om det alltid har vært mulig å skyve oppdateringer fra serveren til klienten, vil klienten måtte be om om det eksisterer noen oppdateringer på serveren. Ved hjelp av SSE -er er oppdateringer automatiske.
SSE -er implementeres ved hjelp av vanlige HTTP -datastrømmer. Derfor er SSE -er begrenset til klientens (nettleser) tilkoblingsbasseng på 6 samtidige HTTP -tilkoblinger til en server. De gir imidlertid ikke funksjonaliteten for å oppdage en droppet klient.
https: // html.spesifikasjon.hvawg.org/multipage/server-sent-events.HTML#server-sent-events
Du kan også finne ressurser for SSE -klient i koblingene nedenfor:
https: // github.com/mpetazzoni/sseclient
https: // github.com/bubbs/sseclient
Websockets vs. Http/2 vs. Sse
La oss nå komme til emnet og liste opp forskjellene mellom de diskuterte teknologiene.
Websocket | Http/2 | Sse |
---|---|---|
Full-dupleks | Halv dupleks | Full-dupleks |
Toveis | Samhandling fra en klient med en spesifikk HTTP -metode er nødvendig | Ensrettet |
Mindre overhead | Lagt til overhead til SSL -håndtrykk | |
Service Push er en base implementering av protokollen | Bare støttet i HTTP/2 | Baseteknologien |
Støttet av store nettlesere | Støttet i alle nettlesere | Ikke alle nettlesere støtter det. |
1024 Parallelle tilkoblinger | 6-8 parallelle tilkoblinger | 6 parallelle tilkoblinger |
Ikke-standard belastningsbalansering | Standard belastningsbalansering | Standard belastningsbalansering |
Konklusjon
Vi har gått over teknologier som websockets, hvordan de fungerer og implementeringen deres. Denne opplæringen fungerer bare som et grunnlag for de nevnte teknologiene. Vurder eksterne ressurser for å lære mer.