Web Protocols

What is WebRTC?

Definition

WebRTC is a browser-native framework for real-time audio, video, and data communication between peers without plugins or intermediate servers for media relay.

WebRTC (Web Real-Time Communication) is an open standard and set of JavaScript APIs that enable peer-to-peer audio, video, and arbitrary data exchange directly between browsers and other endpoints. Developed by the W3C and IETF, it was first standardized in 2021 (W3C Recommendation) and is supported in all major browsers including Chrome, Firefox, Safari, and Edge. It eliminates the need for proprietary plugins like Flash or Java applets for real-time communications.

WebRTC works by establishing a direct peer-to-peer connection using a signaling channel (typically over WebSocket or HTTP) to exchange session descriptions and network candidates via the Session Description Protocol (SDP) and ICE (Interactive Connectivity Establishment). ICE uses STUN servers to discover public IP addresses and ports, and falls back to TURN servers when symmetric NATs or firewalls block direct connections. Once the connection is established, media is encrypted using SRTP (Secure Real-Time Transport Protocol) with DTLS-SRTP keying, and data channels use SCTP over DTLS. The APIs include getUserMedia for accessing cameras and microphones, RTCPeerConnection for managing the peer connection, and RTCDataChannel for low-latency data transfer.

In the wider stack, WebRTC sits as a transport-agnostic application layer protocol that can run over UDP, TCP, or TLS. It is commonly used in video conferencing applications (e.g., Google Meet, Zoom via browser), live streaming, screen sharing, and peer-to-peer file transfer. Its design prioritizes low latency and strong security, with mandatory encryption for all media and data. WebRTC is not limited to browsers; native implementations exist for iOS, Android, and desktop applications via libraries like Google's libwebrtc.

Key facts

  • Standardized by W3C and IETF; W3C Recommendation published January 2021.
  • Uses ICE with STUN and TURN to traverse NATs and firewalls.
  • All media and data channels are encrypted by default using DTLS-SRTP.
  • Operates over UDP primarily, with fallback to TCP or TLS.
  • Supported in Chrome, Firefox, Safari, Edge, and many mobile browsers.

How it works in practice

A user opens a video call in a web browser. The browser uses getUserMedia to capture the local camera feed. It then exchanges SDP offers and answers with the remote peer via a signaling server. ICE candidates are gathered using a STUN server to find the public IP and port. Once the peer-to-peer connection is established, encrypted video and audio flow directly between the two browsers without passing through a media server, reducing latency and server costs.

Related terms

ICE STUN TURN SDP DTLS SRTP SCTP

References

More in Web Protocols

CORS

CORS (Cross-Origin Resource Sharing) is a browser security mechanism that lets servers explicitly allow web pages from one origin to request resources from a different origin via HTTP response headers.

GraphQL

GraphQL is a query language and runtime for APIs that lets clients request exactly the data they need in a single round trip, reducing over-fetching and under-fetching.

gRPC

gRPC is a high-performance, open-source remote procedure call framework initially developed by Google. It uses HTTP/2 for transport, Protocol Buffers as its interface definition language and message serialization format, and supports bidirectional streaming.

HTTP

HTTP is a text-based request-response protocol that defines how web clients and servers exchange resources, forming the foundation of data communication on the World Wide Web.

HTTP Pipelining

HTTP Pipelining is a technique in HTTP/1.1 that sends multiple requests on a single connection without waiting for each response, now largely replaced by HTTP/2 multiplexing.

HTTP Status Code

A three-digit integer in an HTTP response that indicates the result of the server's attempt to process the request, grouped into five classes (1xx through 5xx).

HTTP/1.1

HTTP/1.1 is the persistent-connection version of the Hypertext Transfer Protocol, defined in RFC 2616 and updated by RFCs 7230-7235, enabling multiple requests and responses over a single TCP connection.

HTTP/2

HTTP/2 is a binary, multiplexed version of HTTP that reduces latency through header compression, stream prioritization, and server push, as defined in RFC 7540.

HTTP/3

HTTP/3 is the third major version of the Hypertext Transfer Protocol, which runs over QUIC instead of TCP to reduce latency, eliminate head-of-line blocking, and improve connection setup time.

HTTPS

HTTPS (HTTP Secure) is HTTP traffic encrypted inside a TLS session, protecting data confidentiality, integrity, and server authenticity between a client and a web server.

Who Is Online

In total there are 57 users online: 0 registered, 51 guests and 6 bots.

Most users ever online was 5,555 on 17 Jul 2026, 3:23 am.

Bots: Applebot Baiduspider Other Bot Other Crawler PetalBot SemrushBot

Users active in the past 15 minutes. Total registered members: 369