Use of the WebSocket Protocol as a Transport for the Remote Framebuffer Protocol
draft-realvnc-websocket-02

Document Type Active Internet-Draft (individual)
Last updated 2013-10-07
Stream ISE
Intended RFC status Informational
Formats plain text xml pdf html bibtex
Stream ISE state In ISE Review
Consensus Boilerplate Unknown
Document shepherd No shepherd assigned
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Engineering Taskforce                                 N. Wilson
Internet-Draft                                              RealVNC Ltd.
Intended status: Informational                          October 07, 2013
Expires: April 10, 2014

Use of the WebSocket Protocol as a Transport for the Remote Framebuffer
                                Protocol
                       draft-realvnc-websocket-02

Abstract

   The Remote Framebuffer protocol (RFB) enables clients to connect to
   and control remote graphical resources.  This document describes a
   transport for RFB using the WebSocket protocol, and defines a
   corresponding WebSocket subprotocol, enabling an RFB server to offer
   resources to clients with WebSocket connectivity, such as web-
   browsers.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 10, 2014.

Copyright Notice

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

Wilson                   Expires April 10, 2014                 [Page 1]
Internet-Draft        The RFB WebSocket Subprotocol         October 2013

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://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
     1.1.  Background  . . . . . . . . . . . . . . . . . . . . . . .   2
     1.2.  Overview of the WebSocket Protocol as a stream transport    3
   2.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Interaction with the WebSocket Protocol . . . . . . . . . . .   4
     3.1.  The "Sec-WebSocket-Protocol" header . . . . . . . . . . .   4
     3.2.  Close Frames  . . . . . . . . . . . . . . . . . . . . . .   5
     3.3.  Data Frames . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  Versioning Considerations . . . . . . . . . . . . . . . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  Registration of the RFB WebSocket Subprotocol . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
     6.1.  Origin checking . . . . . . . . . . . . . . . . . . . . .   7
     6.2.  Data authentication and integrity . . . . . . . . . . . .   8
     6.3.  Creating a Safe JavaScript Environment  . . . . . . . . .   8
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

1.1.  Background

   _This section is non-normative._

   The WebSocket Protocol [RFC6455] provides a reliable, full-duplex,
   message-oriented transport.  The opening handshake is formatted as an
   HTTP request and response, enabling access to resources through
   intermediaries obeying HTTP semantics, such as proxies.  This enables
   resources served over a WebSocket-based transport to be accessible to
   all web user-agents.

   In addition, although untrusted websites cannot be given a mechanism
   to make arbitrary TCP connections, web-browsers are able to offer web

Wilson                   Expires April 10, 2014                 [Page 2]
Show full document text