Wat Is WebRTC? Een Volledige Gids voor Ontwikkelaars voor 2026
WebRTC: Een Complete Gids voor Ontwikkelaars in 2026
Als je ooit een videogesprek in je browser hebt gevoerd zonder iets te installeren, dan heb je WebRTC gebruikt. Als je je ooit hebt afgevraagd hoe dat eigenlijk werkt -- hoe twee browsers aan tegenovergestelde zijden van de planeet video naar elkaar kunnen streamen met sub-seconde latentie, zonder plugins, zonder Flash, zonder Java-applets -- dan is deze gids voor jou geschreven.
WebRTC (Web Real-Time Communication) is een open-source framework dat browsers en mobiele apps in staat stelt om audio, video en willekeurige gegevens in real-time, peer-to-peer uit te wisselen. Google gaf de initiële code in 2011 vrij, de W3C standaardiseerde het in 2021, en tegen 2026 ondersteunt het alles van Zoom-achtige conferencing tot AI-spraakagenten tot telemedicineplattformen. De mondiale WebRTC-markt zal naar verwachting dit jaar $ 10,89 miljard bereiken, met een CAGR van ongeveer 37% tot 2034.
Ik heb WebRTC-gebaseerde functies in meerdere productie-apps gebouwd, en ik kan je vertellen: het protocol is elegant, de API's zijn verrassend begrijpelijk, maar de edge cases zullen je bescheiden maken. Laten we er dieper op ingaan.
Inhoudsopgave
- Wat WebRTC eigenlijk is
- Hoe WebRTC werkt onder de motorkap
- De drie kern-API's
- Signalering: Het deel dat WebRTC niet afhandelt
- NAT-traversal: STUN, TURN en ICE
- Beveiliging in WebRTC
- WebRTC-gebruiksscenario's in 2026
- Wat is nieuw in 2026
- WebRTC versus alternatieven
- Bouwen met WebRTC: Bibliotheken en platforms
- Veelgemaakte fouten en hard gewonnen lessen
- Veelgestelde vragen

Wat WebRTC eigenlijk is
WebRTC is in essentie een reeks JavaScript-API's en onderliggende netwerkprotocollen die twee eindpunten -- meestal browsers -- in staat stellen om een directe verbinding tot stand te brengen en media of gegevens uit te wisselen. Geen server zit in het middelste gedeelte van het mediapad (in het ideale geval). Geen plugin. Geen download.
Het "real-time" gedeelte is belangrijk. We hebben het over latentie gemeten in milliseconden, niet seconden. Traditioneel HTTP-gebaseerde streaming (HLS, DASH) introduceert meestal 3-30 seconden vertraging. WebRTC brengt dat onder de 500ms, vaak onder de 200ms. Dat is het verschil tussen een gesprek en spreken in een walkie-talkie.
WebRTC wordt in 2026 ondersteund door elke grote browser:
| Browser | WebRTC-ondersteuning | Opmerkingen |
|---|---|---|
| Chrome | Volledig | Referentie-implementatie |
| Firefox | Volledig | Sterke DataChannel-ondersteuning |
| Safari | Volledig | Sinds 2020 aanzienlijk ingehaald |
| Edge | Volledig | Op Chromium gebaseerd, weerspiegelt Chrome |
| Brave | Volledig | Op Chromium gebaseerd |
| Mobile Chrome/Safari | Volledig | iOS had historisch onzekerheden, grotendeels opgelost |
Het is ook beschikbaar buiten de browser. Native bibliotheken bestaan voor iOS, Android, C++, Rust en Python. Als je een VoIP-app, een dronebesturingssysteem of een IoT-datapipeline bouwt, werkt WebRTC daar ook.
Hoe WebRTC werkt onder de motorkap
Hier is het mentale model dat me echt hielp WebRTC te begrijpen toen ik het voor het eerst tegenkwam.
Stel je twee mensen voor die proberen een telefoongesprek te voeren, maar geen van beiden kent het telefoonnummer van de ander, en beide zitten achter gesloten deuren (NAT's en firewalls). Ze hebben een gemeenschappelijke vriend (de signaalingserver) nodig om nummers uit te wisselen. Zodra ze elkaars info hebben, spreken ze rechtstreeks -- de gemeenschappelijke vriend is niet meer betrokken.
De technische stroom ziet er als volgt uit:
1. Media-opname
De browser vraagt toestemming om toegang te krijgen tot de camera en microfoon van de gebruiker via getUserMedia(). Dit retourneert een MediaStream-object.
2. Signalering (Out of Band)
Voordat twee peers verbinding kunnen maken, moeten ze verbindingsmetagegevens uitwisselen: welke codecs ze ondersteunen, hun netwerkaddres, beveiligingsvingerafdrukken. Deze uitwisseling wordt signalering genoemd, en WebRTC geeft opzettelijk niet aan hoe het gebeurt. Je kunt WebSockets, HTTP-polling, postduiven gebruiken -- wat maar werkt.
De signaleringuitwisseling omvat twee soorten berichten:
- SDP (Session Description Protocol): Beschrijft welke media de peer wil verzenden/ontvangen en hoe
- ICE-kandidaten: Netwerkaddressen waar de peer kan bereikt worden
3. Verbindingsinstelling (ICE)
Het ICE (Interactive Connectivity Establishment) framework probeert meerdere paden om de peers te verbinden. Het probeert eerst directe verbindingen, gebruikt vervolgens STUN-servers om openbare IP's te ontdekken, en valt terug op TURN-relayservers als peer-to-peer mislukt.
4. Veilige mediastroom
Zodra verbonden, stroomt media rechtstreeks tussen peers, versleuteld met DTLS en SRTP. Geen onversleutelde WebRTC-verbindingen zijn toegestaan -- dit is verplicht volgens specificatie.
De drie kern-API's
WebRTC stelt drie hoofd-API's aan JavaScript bloot. Het begrijpen hiervan is 80% van de strijd.
getUserMedia()
Legt audio en video van het apparaat van de gebruiker vast.
// Basis camera + microfoon toegang
const stream = await navigator.mediaDevices.getUserMedia({
video: {
width: { ideal: 1280 },
height: { ideal: 720 },
frameRate: { ideal: 30 }
},
audio: {
echoCancellation: true,
noiseSuppression: true
}
});
// Koppel aan een videoelement
document.getElementById('localVideo').srcObject = stream;
Je kunt ook schermafbeeldingen krijgen met getDisplayMedia():
const screenStream = await navigator.mediaDevices.getDisplayMedia({
video: { cursor: 'always' },
audio: true // systeemaudio, browserondersteuning varieert
});
RTCPeerConnection
Dit is het werkpaard. Het beheert de volledige levenscyclus van een peer-verbinding: codec-onderhandeling, ICE-kandidaat-verzameling, DTLS-handshake, bandbreedte-schatting, pakketverlies-herstel.
const config = {
iceServers: [
{ urls: 'stun:stun.l.google.com:19302' },
{
urls: 'turn:turn.yourserver.com:3478',
username: 'user',
credential: 'pass'
}
]
};
const pc = new RTCPeerConnection(config);
// Voeg lokale tracks toe
stream.getTracks().forEach(track => pc.addTrack(track, stream));
// Behandel inkomende tracks van de remote peer
pc.ontrack = (event) => {
document.getElementById('remoteVideo').srcObject = event.streams[0];
};
// Maak aanbieding aan (oproeperkant)
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
// Stuur aanbieding naar remote peer via je signaalingserver
// Aan de andere kant, ontvang aanbieding en maak antwoord
await pc.setRemoteDescription(receivedOffer);
const answer = await pc.createAnswer();
await pc.setLocalDescription(answer);
// Stuur antwoord terug via signalering
RTCDataChannel
Dit krijgt niet genoeg aandacht. DataChannel laat je willekeurige gegevens tussen peers verzenden -- tekst, binair, bestanden, spelstatus, wat dan ook. Het is gebouwd op SCTP, dus je krijgt opties voor georderde/ongeorderde levering en betrouwbare/onbetrouwbare transport.
const dataChannel = pc.createDataChannel('chat', {
ordered: true // garanteer berichtenvolgorde
});
dataChannel.onopen = () => {
dataChannel.send('Hallo van peer A!');
};
dataChannel.onmessage = (event) => {
console.log('Ontvangen:', event.data);
};
// Op de remote peer
pc.ondatachannel = (event) => {
const channel = event.channel;
channel.onmessage = (e) => console.log('Ontvangen:', e.data);
};
Ik heb DataChannels gebruikt voor real-time gezamenlijke bewerking, multiplayer-spelstatussynchronisatie en zelfs grote bestandsoverdrachten. De latentie is dramatisch lager dan WebSocket omdat de gegevens niet via een server routeren.

Signalering: Het deel dat WebRTC niet afhandelt
Dit struikelt elke ontwikkelaar voor het eerst. WebRTC is een protocol voor mediatransport, niet voor ontdekking. Twee peers kunnen elkaar niet zonder hulp vinden.
Je hebt een signaalingserver nodig die:
- Peers in staat stelt hun aanwezigheid te registreren
- SDP-aanbiedingen en -antwoorden tussen peers doorgeeft
- ICE-kandidaten doorgeeft
De meeste teams gebruiken WebSockets voor signalering. Hier is een minimaal Node.js-voorbeeld:
// Server (met ws-bibliotheek)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
const rooms = new Map();
wss.on('connection', (ws) => {
ws.on('message', (data) => {
const msg = JSON.parse(data);
if (msg.type === 'join') {
rooms.set(msg.roomId, [...(rooms.get(msg.roomId) || []), ws]);
}
if (['offer', 'answer', 'ice-candidate'].includes(msg.type)) {
// Geef door aan andere peers in de kamer
const peers = rooms.get(msg.roomId) || [];
peers.forEach(peer => {
if (peer !== ws && peer.readyState === WebSocket.OPEN) {
peer.send(JSON.stringify(msg));
}
});
}
});
});
De signaalingserver is de enige server die je moet uitvoeren. Zodra de verbinding tot stand is gebracht, kan het verdwijnen (hoewel je het graag in de buurt wilt hebben voor herverbindingsscenario's).
NAT-traversal: STUN, TURN en ICE
Dit is waar WebRTC lastig wordt. De meeste apparaten zitten achter NAT's (Network Address Translation), wat betekent dat hun lokale IP-adres niet bereikbaar is via het internet. WebRTC gebruikt een drielaagse aanpak om dit op te lossen:
STUN (Session Traversal Utilities for NAT): Een lichte server die je browser vertelt "hier is je openbare IP en poort." Google voert gratis STUN-servers uit (stun:stun.l.google.com:19302). STUN is snel, goedkoop en werkt ongeveer 80-85% van de tijd.
TURN (Traversal Using Relays around NAT): Wanneer peer-to-peer direct mislukt (symmetrische NAT's, strikte firewalls), werkt TURN als een mediarelay. Alle verkeer stroomt door de TURN-server. Dit werkt 100% van de tijd maar kost bandbreedte en voegt latentie toe. Je eigen TURN-server uitvoeren is verplicht voor productie-apps. Coturn is de standaard open-source optie.
ICE (Interactive Connectivity Establishment): Het framework dat STUN en TURN orkestreert. ICE verzamelt kandidaataddressen (lokaal, server-reflexief via STUN, relay via TURN) en test deze systematisch om het best werkende pad te vinden.
Naar mijn ervaring gaat ongeveer 15-20% van de verbindingen in productie via TURN. Bedrijfsfirewalls zijn de grootste boosdoener. Budget voor TURN-serverkosten -- ze zijn niet optioneel.
Beveiliging in WebRTC
WebRTC is standaard veilig, wat verfrissend is. Hier is wat in het spec is ingebakken:
- DTLS (Datagram Transport Layer Security): Versleutelt alle datakanalen. Denk TLS maar voor UDP.
- SRTP (Secure Real-time Transport Protocol): Versleutelt alle mediastromen.
- Verplichte versleuteling: Je kunt letterlijk geen onversleutelde WebRTC-verbinding tot stand brengen. De spec verbiedt het.
- Toestemmingsprompts: Browsers vereisen expliciete gebruikertoestemming voordat ze toegang krijgen tot camera's of microfoons.
- Origin-isolatie: Webpagina's kunnen alleen WebRTC-API's benaderen vanuit beveiligde oorsprongen (HTTPS).
Er is geen "versleuteling uitschakelen"-vlag. Geen onveilig fallback. Dit was een doelgerichte ontwerpkeuze, en het is een goed idee.
Dat gezegd hebbende, je signaalingserver is een potentieel beveiligingsrisico. Als iemand signalering compromitteert, kan hij verbindingen naar een kwaadaardig peer omleiden. Gebruik geverifieerde WebSocket-verbindingen en valideer alles aan serverzijde.
WebRTC-gebruiksscenario's in 2026
Het voor de hand liggende gebruiksscenario is videobellen, maar WebRTC is ver daarbuiten gespreid.
Videoconferentie
Zoom, Google Meet, Microsoft Teams en tientallen kleinere spelers gebruiken allemaal WebRTC (of een aangepaste versie van de onderliggende protocollen). Voor multi-party-gesprekken gebruiken de meeste platforms een SFU (Selective Forwarding Unit) architectuur in plaats van zuivere peer-to-peer -- meer daarover hieronder.
AI-spraakagenten
Dit is het snelst groeiende gebruiksscenario in 2026. Bedrijven als Vapi, Retell en Bland.ai gebruiken WebRTC om audio tussen gebruikers en AI-modellen in real-time te transporteren. De sub-200ms latentie is kritiek -- meer vertraging en het gesprek voelt onnatuurlijk.
Telemedicine
Bezoeken aan arts op afstand exploderden tijdens COVID en gingen nooit weg. WebRTC biedt HIPAA-compatibele versleutelde video zonder softwareinstallatie vereist.
Live winkelen en uitzending
Ultra-lage-latency-streaming voor livehandel. De kijker ziet de productdemo in real-time en kan direct interageren. Traditionele streamingprotocollen voegen te veel vertraging toe.
Klantenondersteuning
Schermsharing en videochat rechtstreeks in ondersteuningswidgets ingebed. De klant downloadt niets. De agent ziet het probleem in real-time.
IoT en drones
DataChannels zijn uitstekend voor het verzenden van besturingscommando's en het ontvangen van telemetrie van edge-apparaten. De NAT-traversal ingebouwd in WebRTC lost een ton kopzorgen op die IoT-ontwikkelaars anders handmatig zouden moeten behandelen.
Wat is nieuw in 2026
WebRTC staat niet stil. Een paar belangrijke ontwikkelingen vormen hoe we het nu gebruiken.
AI-integratie is overal
Real-time transcriptie, live-vertaling, geluidsonderdrukking van achtergrondgeluid aangedreven door ML-modellen, sentimentanalyse tijdens oproepen -- dit alles hangt af van WebRTC's lage-latency-transport. De convergentie van WebRTC-infrastructuur met grote taalmodellen is stellig de meest significante trend in real-time communicatie dit jaar.
WebTransport en WebCodecs
WebTransport (gebouwd op HTTP/3 en QUIC) biedt een alternatief transportlaag voor sommige streamingscenario's. Het vervangt WebRTC niet -- het handelt peer-to-peer of NAT-traversal niet af -- maar het is een sterke aanvulling op server-naar-client-streaming waar je meer controle over codering wilt.
WebCodecs geeft ontwikkelaars directe toegang tot hardwarevideo-encoders en -decoders, waardoor de mediapipeline van de browser wordt omzeild. Gecombineerd met WebRTC's Insertable Streams-API, stelt dit aangepaste videoverwerking (end-to-end-versleuteling, AR-filters) met veel betere prestaties in.
Schaalbare videocodes (SVC)
SVC-ondersteuning is aanzienlijk volwassen geworden. Encoders als VP9 SVC en AV1 SVC stellen een enkele gecodeerde stroom in staat om meerdere kwaliteitsniveaus te bedienen, wat enorm is voor SFU-gebaseerde architecturen. In plaats van drie afzonderlijke kwaliteitsstromen (simulcast) te coderen, codeer je eenmaal en de SFU verwijdert lagen op basis van bandbreedte van elke ontvanger.
WHIP en WHEP
WebRTC-HTTP Ingestion Protocol (WHIP) en WebRTC-HTTP Egress Protocol (WHEP) standaardiseren hoe WebRTC zich met mediaservers verbindt. Voordat deze protocollen beschikbaar waren, had elke mediaserver zijn eigen propriëtaire signalering. WHIP/WHEP brengen gezond verstand in het ecosysteem.
WebRTC versus alternatieven
Waar past WebRTC in vergeleken met andere real-time communicatietechnologieën?
| Technologie | Latentie | Richting | NAT-traversal | Browserondersteuning | Beste voor |
|---|---|---|---|---|---|
| WebRTC | < 500ms | P2P of via SFU | Ingebouwd (ICE) | Alle grote browsers | Videogesprekken, real-time interactie |
| HLS | 3-30s | Server → Client | N.v.t. | Universeel | VOD, live streaming naar groot publiek |
| DASH | 3-30s | Server → Client | N.v.t. | Meeste browsers | Adaptieve bitrate VOD |
| WebSocket | ~50ms (alleen gegevens) | Client ↔ Server | Nee | Alle grote browsers | Chat, meldingen, real-time gegevens |
| WebTransport | ~50ms | Client ↔ Server | Nee | Chrome, Firefox, Edge | Lage-latency-server-streaming |
| RTMP | 1-5s | Client → Server | Nee | Vereist speler | Ingestie naar streamingplatformen |
| SRT | 0,5-2s | Point to point | Beperkt | Vereist app | Bijdrage uitzending |
Het sleutelonderscheid: WebRTC is de enige browser-native optie die peer-to-peer doet met ingebouwde NAT-traversal en verplichte versleuteling. Als je real-time bidirectionele communicatie in de browser nodig hebt, is het nog steeds het antwoord.
Bouwen met WebRTC: Bibliotheken en platforms
Je kunt alles helemaal opnieuw bouwen met de raw browserAPI's. Ik heb het gedaan. Ik beveel het niet aan voor productie tenzij je diepgaande expertise en een specifieke reden hebt.
Dit zijn de tools die er in 2026 toe doen:
Mediaservers (SFU's)
- LiveKit: Open-source, gebouwd in Go, uitstekende ontwikkelaarsomgeving. Mijn huidige aanbeveling voor de meeste projecten. Ondersteunt SFU-architectuur, simulcast, datakanalen en heeft SDK's voor elk belangrijk platform.
- Janus: Volwassen mediaserver op basis van C. Zeer flexibel maar lager niveau. Je zult meer code schrijven.
- mediasoup: Node.js-gebaseerde SFU. Goed als je team in het JavaScript-ecosysteem leeft.
- Pion: WebRTC-implementatie in Go. Niet een volledige mediaserver, maar ongelooflijk nuttig voor het bouwen van aangepaste WebRTC-infrastructuur.
CPaaS-platforms
- Twilio: Het 800-ponds gorilla. Uitgebreide API's, goede documentatie, premium prijzen.
- Agora: Sterk in Azië-Stille Oceaan, goede SDK-kwaliteit.
- Daily.co: Developer-vriendelijk, schone API's, redelijke prijzen.
- Vonage (voormalig Tokbox): Solide, bestaat al eeuwig.
Wanneer bouwen versus kopen
Als je een product bouwt waar video een functie is (zoals videochat toevoegen aan een ondersteuningsdashboard), gebruik je een CPaaS of LiveKit. Als video het product is, zul je waarschijnlijk meer controle nodig hebben en zou je je eigen SFU-infrastructuur moeten uitvoeren.
Voor webapplicaties gebouwd met frameworks als Next.js of Astro, is het integreren van WebRTC via een bibliotheek als LiveKit's React SDK eenvoudig. We hebben real-time videofuncties in door headless CMS aangestuurde sites geïntegreerd -- de ontkoppelde architectuur maakt het eigenlijk gemakkelijker omdat je front-end framework de UI afhandelt terwijl WebRTC het mediatransport onafhankelijk afhandelt.
Veelgemaakte fouten en hard gewonnen lessen
Na het bouwen van meerdere WebRTC-applicaties, hier is wat ik wou dat iemand me eerder had verteld:
Implementeer altijd TURN-servers. Ik heb ontwikkelaars TURN zien overslaan omdat "het prima werkt in testen." Het werkt prima omdat je testaparaten op hetzelfde netwerk zijn. In productie, 15-20% van de gebruikers zitten achter restrictieve NAT's of firewalls. Zonder TURN, kunnen die gebruikers gewoon niet verbinden.
Behandel verbreken elegant. Netwerkvoorwaarden veranderen voortdurend. Je app moet verbindingsverliezen detecteren, herverbinding proberen en de gebruiker informeren -- allemaal zonder toepassingsstatus te verliezen. De iceconnectionstatechange-gebeurtenis is je vriend.
Bandbreedte-schatting is lastig. WebRTC heeft ingebouwde bandbreedte-schatting, maar het is geen magie. Op overbelaste netwerken zal de videokwaliteit verslechteren. Gebruik getStats() om verbindingskwaliteit te controleren en pas je UI dienovereenkomstig aan -- misschien toon je een "slechte verbinding"-indicator of val terug op alleen audio.
Safari heeft eigenaardigheden. Het is veel beter geworden, maar Safari handelt sommige edge cases nog steeds anders af. Test op werkelijke iOS-apparaten in een vroeg stadium en frequent. Simulcast-gedrag kan je in het bijzonder verrassen.
Schalen voorbij peer-to-peer vereist een SFU. Een 1-to-1 gesprek is eenvoudig P2P. Een 4-persoons gesprek met mesh (iedereen verbindt met iedereen) betekent dat elke deelnemer 3 verbindingen onderhoudt, 3 videostromen codeert en uploadt. Het schaalt niet. Voor meer dan 3 deelnemers, gebruik je een SFU waar elke deelnemer één stroom naar de server stuurt, en de server stuurt naar iedereen anders.
Als je een real-time applicatie bouwt en hulp nodig hebt bij het architecteren van de WebRTC-laag naast je headless CMS-setup, neem dan contact met ons op -- we hebben dit genoeg gedaan om te weten waar de landmijnen zijn.
Veelgestelde vragen
Wat staat WebRTC voor? WebRTC staat voor Web Real-Time Communication. Het is een open-source project en W3C-standaard die browsers en mobiele applicaties voorziet van real-time audio-, video- en datacommunicatiemogelijkheden via eenvoudige JavaScript-API's.
Is WebRTC gratis te gebruiken? De WebRTC-API's en -protocollen zijn volledig gratis en open-source. Het bouwen van een productieapplicatie impliceert echter kosten voor signaalingservers, TURN-relayservers (die bandbreedte verbruiken) en mogelijk mediaservers (SFU's) voor multi-party-gesprekken. STUN-servers zijn meestal gratis -- Google voert openbare uit.
Werkt WebRTC zonder server? Niet helemaal. Hoewel de media peer-to-peer stroomt (geen server in het mediapad), heb je nog steeds een signaalingserver nodig om peers elkaar te helpen ontdekken en verbindingsinformatie uit te wisselen. Je hebt ook STUN/TURN-servers nodig voor NAT-traversal. Het sleutelpunt is dat de server de gegevens zelf niet ziet of verwerkt.
Hoe verschilt WebRTC van WebSockets? WebSockets bieden een permanente bidirectionele verbinding tussen een client en een server -- geweldig voor chat, meldingen en real-time gegevens. WebRTC biedt peer-to-peer verbindingen tussen clients, geoptimaliseerd voor media (audio/video). WebRTC gebruikt UDP voor lagere latentie, terwijl WebSockets TCP gebruiken. In de praktijk gebruiken veel apps WebSockets voor signalering en WebRTC voor mediatransport.
Kan WebRTC worden gebruikt voor live streaming naar duizenden kijkers? Pure peer-to-peer WebRTC kan niet schalen naar duizenden kijkers. Echter, gecombineerd met een SFU of mediaserver, kan WebRTC grote uitzendingen afhandelen. Platformen gebruiken architecturen waarbij de uitzender één stroom naar een server stuurt, die deze vervolgens via WebRTC aan duizenden kijkers distribueert. Voor publieken boven 10.000, is een CDN-gebaseerde benadering met HLS/DASH meestal kosteneffectiever.
Is WebRTC veilig? Kunnen gesprekken worden onderschept? WebRTC is bij ontwerp veilig. Alle media en gegevens zijn versleuteld met DTLS en SRTP -- versleuteling is verplicht en kan niet worden uitgeschakeld. De versleuteling gebeurt end-to-end in peer-to-peer scenario's. Bij gebruik van een SFU ontsleutelt en versleutelt de server de media opnieuw, dus je vertrouwt de serveroperator. Voor echte end-to-end-versleuteling via een SFU, kijk naar Insertable Streams (ook wel "E2EE" genoemd in WebRTC).
Wat is het verschil tussen STUN- en TURN-servers? STUN-servers zijn licht -- ze vertellen je browser gewoon zijn openbare IP-adres en poort, wat helpt bij het tot stand brengen van directe peer-to-peer-verbindingen. TURN-servers zijn zwaarder -- ze fungeren als relais en sturen al het mediaverkeer door wanneer directe verbindingen mislukken. STUN is goedkoop (bijna gratis), TURN is duur (je betaalt voor bandbreedte). Ongeveer 80-85% van de verbindingen slaagt met alleen STUN; TURN handelt de rest af.
Zal WebTransport WebRTC vervangen? Nee. WebTransport en WebRTC lossen verschillende problemen op. WebTransport (gebouwd op HTTP/3 en QUIC) is geweldig voor client-naar-server-communicatie met lage latentie, maar het doet geen peer-to-peer-verbindingen of NAT-traversal. WebRTC blijft de enige browser-native oplossing voor rechtstreekse peer-to-peer mediacommunicatie. Ze zijn complementaire technologieën, en in 2026 gebruiken veel applicaties beide.