Network Working Group                                         J. Holsten
Internet-Draft
Intended status: Informational                                   L. Hunt
Expires: February 13, 2010                          Opera Software, ASA.
                                                         August 12, 2009


                         The 'about' URI scheme
                   draft-holsten-about-uri-scheme-02

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on February 13, 2010.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   This document specifies the URI (Uniform Resource Identifier) scheme
   "about".  About URIs are designed to be an internal, application-



Holsten & Hunt          Expires February 13, 2010               [Page 1]


Internet-Draft           The 'about' URI scheme              August 2009


   level identifier.  Unlike many other URI schemes, the resolution of,
   and resources represented by, about URIs are left largely to each
   individual application.  Only the "about:blank" URI must be the same.

1.  Editorial Note (To be removed by RFC Editor)

   Discussion of this draft should take place on the URI Review mailing
   list (uri-review@ietf.org).

2.  Introduction

   An about URI is designed to be used internally by applications for
   almost any desired purpose.  Such URIs have commonly been used by web
   browsers for providing access to built-in functionality, such as
   application information, preferences, settings, or "easter eggs".

   While any number of existing schemes could be used to identify such
   resources, about URIs have become the de facto standard.  Browsers
   already use the about scheme.  The about:blank (Section 5.1) URI is
   ubiquitous, and some browsers also provide other resources with the
   about scheme, including those in Section 5.2.

   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 [RFC2119].

3.  URI Syntax

   The general syntax of an about URI is defined below using ABNF
   [RFC5234]:

                   abouturi = "about:" segment [ "?" query ]

   where "segment" and "query" are defined in [RFC3986].

4.  Encoding Considerations

   Because many characters are not permitted with this syntax, the
   "segment" and "query" elements may contain characters from the
   Unicode Character Set [UCS] as suggested by URI [RFC3986], by first
   encoding those characters as octets to the UTF-8 character encoding
   [RFC3629]; then only those octets that do not correspond to
   characters in the unreserved set should be percent-encoded.

   By using UTF-8 encoding, there are no known compatibility issues with
   mapping Internationlized Resource Identifiers to about URIs according
   to [RFC3987].  Since about URIs do not use domain names, "ireg-name"
   conversion is unnecessary.



Holsten & Hunt          Expires February 13, 2010               [Page 2]


Internet-Draft           The 'about' URI scheme              August 2009


5.  Resolving About URIs

   In general, applications are free to resolve any about URI to any
   resource, either internal or external, or redirect to an alternative
   URI, with about:blank being the only exception.

   As about URIs are designed to be internal to each application, there
   is no expectation of any URI, except about:blank, returning the same
   resource among different applications.  However, it is worth noting
   that some conventions have arisen for providing particular
   functionality via common about URIs.

   Because about URIs identify application specific information,
   applications SHOULD NOT retrieve remote information for such a
   resource.

   The about:blank URI is the only about URI reserved by this
   specification.

5.1.  about:blank

   Applications resolving this URI MUST return an empty resource, with
   the media type "text/html" and the character encoding "UTF-8".

5.2.  Examples

   The following examples illustrate some known URIs supported by
   existing applications.  They are not guaranteed to be resolvable by
   every application.

   about:config  Commonly provides access to application preferences and
      settings

   about:cache  Commonly provides access to information about resources
      stored in the browsers cache.

   about:plugins  Commonly provides access to information about
      installed plugins

   about:mozilla  An easter egg supported by Mozilla showing a passage
      from the fictional Book of Mozilla

   Applications are also permitted to redirect such URIs.  For example,
   Opera redirects all about URIs, with the exception of "about:blank",
   to the equivalent URI using their internal opera: scheme. e.g.
   "about:config" redirects to "opera:config".

   This is not an exhaustive list.  Many more are supported by numerous



Holsten & Hunt          Expires February 13, 2010               [Page 3]


Internet-Draft           The 'about' URI scheme              August 2009


   applications.  For more examples, consult Wikipedia's entry on the
   "about: URI Scheme" [wikiabout].

6.  Normalization

   About URIs use the standard URI normalization rules [RFC3986],
   specifically Simple String Comparison, Case Normalization, and
   Percent-Encoding Normalization.  For example, "about:blank",
   "about:blan%6B" and "about:blan%6b" are equivalent, though the
   percent-encoded forms are discouraged.  Due to the structure of about
   URIs, some normalizations do not apply, specifically Syntax-Based
   Normalization, Scheme-Based Normalization, and Protocol-Based
   Normalization.  For example, "about:blank" is not equivalent to
   "about:BLANK", "about:blank?" or "about:blank:", each may represent a
   different resource.  Similarly, "about:blank%3F" is not equivalent to
   "about:blank?".

7.  Relative About URIs

   As about URIs do not use a hierarchical path, relative about URIs are
   not permitted

8.  Security Considerations

   Implementations of the scheme SHOULD NOT modify data when processing
   about resource identifiers.  Applications SHOULD NOT use about URIs
   to access or erase files or other sensitive information.

   About URIs MAY identify resources which show sensitive information.
   Applications SHOULD ensure appropriate restrictions are in place to
   protect such information from access or modification by untrusted
   sources.

   The HTML representation of the URI "about:blank" MUST use the origin
   and the effective script origin as defined by HTML5 Section 5.4
   Origin [W3C.WD-html5].  The origin of the "about:blank" Document is
   set when the Document is created.  If the new browsing context has a
   creator browsing context, then the origin of the "about:blank"
   Document is the origin of the creator Document.  Otherwise, the
   origin of the "about:blank" Document is a globally unique identifier
   assigned when the new browsing context is created.

9.  IANA Considerations

   This specification requests the IANA provisionally register the about
   URI scheme as specified in this document and summarized in the
   following template, per [RFC4395]:




Holsten & Hunt          Expires February 13, 2010               [Page 4]


Internet-Draft           The 'about' URI scheme              August 2009


   URI scheme name:  about

   Status:  Provisional

   URI scheme syntax:  See Section 3

   URI scheme semantics:  See Section 2

   Encoding considerations:  Percent-encoding is allowed in "segment"
      and "query" components.  Internationalization is handled by IRI
      processing.  See Section 4.

   Intended usage:  See Section 2

   Applications and/or protocols that use this URI scheme name:  Any
      applications that use URIs as identifiers for private resources,
      such as web browsers.

   Interoperability considerations:  Applications are only required to
      support about:blank, and may choose to interpret other about URIs
      differently.

   Security considerations:  See Section 8

   Relevant publications:  None

   Contact:  Joseph Holsten (joseph@josephholsten.com)

   Author/Change controller:  Joseph Holsten

10.  Acknowledgements

   This document was made possible thanks to the input of Henri Sivonen,
   Ian Hickson and Larry Masinter.

11.  References

11.1.  Normative References

   [RFC3986]       Berners-Lee, T., Fielding, R., and L. Masinter,
                   "Uniform Resource Identifier (URI): Generic Syntax",
                   STD 66, RFC 3986, January 2005.

   [RFC5234]       Crocker, D. and P. Overell, "Augmented BNF for Syntax
                   Specifications: ABNF", STD 68, RFC 5234,
                   January 2008.

   [RFC2119]       Bradner, S., "Key words for use in RFCs to Indicate



Holsten & Hunt          Expires February 13, 2010               [Page 5]


Internet-Draft           The 'about' URI scheme              August 2009


                   Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3987]       Duerst, M. and M. Suignard, "Internationalized
                   Resource Identifiers (IRIs)", RFC 3987, January 2005.

   [RFC3629]       Yergeau, F., "UTF-8, a transformation format of ISO
                   10646", STD 63, RFC 3629, November 2003.

   [UCS]           International Organization for Standardization,
                   "Information Technology - Universal Multiple-Octet
                   Coded Character Set (UCS)", ISO/IEC Standard 10646,
                   December 2003.

   [W3C.WD-html5]  Hickson, I. and D. Hyatt, "HTML 5", World Wide Web
                   Consortium TR html5, February 2009,
                   <http://www.w3.org/TR/html5>.

11.2.  Informative References

   [RFC4395]       Hansen, T., Hardie, T., and L. Masinter, "Guidelines
                   and Registration Procedures for New URI Schemes",
                   BCP 35, RFC 4395, February 2006.

   [wikiabout]     Wikipedia, The Free Encyclopedia, "About: URI
                   scheme", March 2009.

Authors' Addresses

   Joseph Anthony Pasquale Holsten

   EMail: joseph@josephholsten.com
   URI:   http://josephholsten.com


   Lachlan Hunt
   Opera Software, ASA.

   EMail: lachlan.hunt@lachy.id.au
   URI:   http://lachy.id.au/












Holsten & Hunt          Expires February 13, 2010               [Page 6]