Overview: Real-Time Protocols for Browser-Based Applications
RFC 8825

Document Type RFC - Proposed Standard (January 2021; No errata)
Author Harald Alvestrand 
Last updated 2021-01-18
Replaces draft-alvestrand-rtcweb-overview
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Sean Turner
Shepherd write-up Show (last changed 2017-02-22)
IESG IESG state RFC 8825 (Proposed Standard)
Action Holders
(None)
Consensus Boilerplate Yes
Telechat date
Responsible AD Adam Roach
Send notices to "Sean Turner" <sean@sn3rd.com>
IANA IANA review state Version Changed - Review Needed
IANA action state No IANA Actions


Internet Engineering Task Force (IETF)                     H. Alvestrand
Request for Comments: 8825                                        Google
Category: Standards Track                                   January 2021
ISSN: 2070-1721

      Overview: Real-Time Protocols for Browser-Based Applications

Abstract

   This document gives an overview and context of a protocol suite
   intended for use with real-time applications that can be deployed in
   browsers -- "real-time communication on the Web".

   It intends to serve as a starting and coordination point to make sure
   that (1) all the parts that are needed to achieve this goal are
   findable and (2) the parts that belong in the Internet protocol suite
   are fully specified and on the right publication track.

   This document is an applicability statement -- it does not itself
   specify any protocol, but it specifies which other specifications
   implementations are supposed to follow to be compliant with Web Real-
   Time Communication (WebRTC).

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8825.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Principles and Terminology
     2.1.  Goals of This Document
     2.2.  Relationship between API and Protocol
     2.3.  On Interoperability and Innovation
     2.4.  Terminology
   3.  Architecture and Functionality Groups
   4.  Data Transport
   5.  Data Framing and Securing
   6.  Data Formats
   7.  Connection Management
   8.  Presentation and Control
   9.  Local System Support Functions
   10. IANA Considerations
   11. Security Considerations
   12. References
     12.1.  Normative References
     12.2.  Informative References
   Acknowledgements
   Author's Address

1.  Introduction

   The Internet was, from very early in its lifetime, considered a
   possible vehicle for the deployment of real-time, interactive
   applications -- with the most easily imaginable being audio
   conversations (aka "Internet telephony") and video conferencing.

   The first attempts to build such applications were dependent on
   special networks, special hardware, and custom-built software, often
   at very high prices or of low quality, placing great demands on the
   infrastructure.

   As the available bandwidth has increased, and as processors and other
   hardware have become ever faster, the barriers to participation have
   decreased, and it has become possible to deliver a satisfactory
   experience on commonly available computing hardware.

   Still, there are a number of barriers to the ability to communicate
   universally -- one of these is that there is, as of yet, no single
   set of communication protocols that all agree should be made
   available for communication; another is the sheer lack of universal
   identification systems (such as is served by telephone numbers or
   email addresses in other communications systems).

   Development of "The Universal Solution" has, however, proved hard.

   The last few years have also seen a new platform rise for deployment
   of services: the browser-embedded application, or "web application".
   It turns out that as long as the browser platform has the necessary
   interfaces, it is possible to deliver almost any kind of service
   on it.

   Traditionally, these interfaces have been delivered by plugins, which
   had to be downloaded and installed separately from the browser; in
   the development of HTML5 [HTML5], application developers see much
   promise in the possibility of making those interfaces available in a
   standardized way within the browser.

   This memo describes a set of building blocks that (1) can be made
   accessible and controllable through a JavaScript API in a browser and
   (2) together form a sufficient set of functions to allow the use of
Show full document text