< draft-holsten-about-uri-scheme-01.txt   draft-holsten-about-uri-scheme-02.txt >
Network Working Group J. Holsten Network Working Group J. Holsten
Internet-Draft Internet-Draft
Intended status: Informational L. Hunt Intended status: Informational L. Hunt
Expires: November 9, 2009 Opera Software, ASA. Expires: February 13, 2010 Opera Software, ASA.
May 8, 2009 August 12, 2009
The 'about' URI scheme The 'about' URI scheme
draft-holsten-about-uri-scheme-01 draft-holsten-about-uri-scheme-02
Status of This Memo Status of This Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 33 skipping to change at page 1, line 33
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 9, 2009. This Internet-Draft will expire on February 13, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. and restrictions with respect to this document.
Abstract Abstract
This document specifies the URI (Uniform Resource Identifier) scheme This document specifies the URI (Uniform Resource Identifier) scheme
"about". About URIs are designed to be an internal, application- "about". About URIs are designed to be an internal, application-
level identifier. Unlike many other URI schemes, the resolution of, level identifier. Unlike many other URI schemes, the resolution of,
and resources represented by, about URIs are left entirely to each and resources represented by, about URIs are left largely to each
individual application. individual application. Only the "about:blank" URI must be the same.
1. Editorial Note (To be removed by RFC Editor) 1. Editorial Note (To be removed by RFC Editor)
Discussion of this draft should take place on the URI Review mailing Discussion of this draft should take place on the URI Review mailing
list (uri-review@ietf.org). list (uri-review@ietf.org).
2. Introduction 2. Introduction
An about URI is designed to be used internally by applications for An about URI is designed to be used internally by applications for
almost any desired purpose. Such URIs have commonly been used by web almost any desired purpose. Such URIs have commonly been used by web
browsers for providing access to built-in functionality, such as browsers for providing access to built-in functionality, such as
application information, preferences, settings, or "easter eggs". application information, preferences, settings, or "easter eggs".
While any number of existing schemes could be used to identify such While any number of existing schemes could be used to identify such
resources, about URIs have become the de facto standard. Browsers resources, about URIs have become the de facto standard. Browsers
already use the about scheme. The about:blank (Section 4.1) URI is already use the about scheme. The about:blank (Section 5.1) URI is
ubiquitous, and some browsers also provide other resources with the ubiquitous, and some browsers also provide other resources with the
about scheme, including those in Section 4.2. about scheme, including those in Section 5.2.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. URI Syntax 3. URI Syntax
The general syntax of a about URI, in ABNF [RFC5234] is: The general syntax of an about URI is defined below using ABNF
[RFC5234]:
abouturi = "about:" segment [ "?" query ] [ "#" fragment ] abouturi = "about:" segment [ "?" query ]
where "segment", "query", and "fragment" are imported from [RFC3986]. where "segment" and "query" are defined in [RFC3986].
In the interests of tractability to humans, about URIs SHOULD NOT be 4. Encoding Considerations
minted with percent-encoded parts. However, the about URI syntax
does allow percent-encoded characters in the "pchar" elements defined
in [RFC3986].
No relative URI syntax is defined. 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.
4. Resolving About URIs 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.
5. Resolving About URIs
In general, applications are free to resolve any about URI to any In general, applications are free to resolve any about URI to any
resource, either internal or external, or redirect to an alternative resource, either internal or external, or redirect to an alternative
URI, with about:blank being the only exception. URI, with about:blank being the only exception.
As about URIs are designed to be internal to each application, there As about URIs are designed to be internal to each application, there
is no expectation of any URI, except about:blank, returning the same is no expectation of any URI, except about:blank, returning the same
resource among different applications. However, it is worth noting resource among different applications. However, it is worth noting
that some conventions have arisen for providing particular that some conventions have arisen for providing particular
functionality via common about URIs. functionality via common about URIs.
Because about URIs identify application specific information, Because about URIs identify application specific information,
applications SHOULD NOT need to retrieve remote information for such applications SHOULD NOT retrieve remote information for such a
a resource. resource.
The about:blank URI is the only about URI reserved by this The about:blank URI is the only about URI reserved by this
specification. specification.
4.1. about:blank 5.1. about:blank
Applications resolving this URI MUST return an empty resource, with Applications resolving this URI MUST return an empty resource, with
the media type "text/html" and the character encoding "UTF-8". the media type "text/html" and the character encoding "UTF-8".
4.2. Examples 5.2. Examples
The following examples illustrate some known URIs supported by The following examples illustrate some known URIs supported by
existing applications. They are not guaranteed to be resolvable by existing applications. They are not guaranteed to be resolvable by
every application. every application.
about:config Commonly provides access to application preferences and about:config Commonly provides access to application preferences and
settings settings
about:cache Commonly provides access to information about resources about:cache Commonly provides access to information about resources
stored in the browsers cache. stored in the browsers cache.
about:plugins Commonly provides access to information about about:plugins Commonly provides access to information about
installed plugins installed plugins
about:mozilla An easter egg supported by Mozilla showing a passage about:mozilla An easter egg supported by Mozilla showing a passage
from the fictional Book of Mozilla from the fictional Book of Mozilla
Applications are also permitted to redirect such URIs. For example, Applications are also permitted to redirect such URIs. For example,
Opera redirects all about: URIs, with the exception of about:blank, Opera redirects all about URIs, with the exception of "about:blank",
to the equivalent URI using their internal opera: scheme. e.g. about: to the equivalent URI using their internal opera: scheme. e.g.
config redirects to opera:config. "about:config" redirects to "opera:config".
This is not an exhaustive list. Many more are supported by numerous This is not an exhaustive list. Many more are supported by numerous
applications. For more examples, consult Wikipedia's entry on the applications. For more examples, consult Wikipedia's entry on the
"about: URI Scheme" [wikiabout]. "about: URI Scheme" [wikiabout].
5. Security Considerations 6. Normalization
About URIs SHOULD NOT cause the application to modify any data. About URIs use the standard URI normalization rules [RFC3986],
Applications SHOULD NOT use about URIs to access or erase files or specifically Simple String Comparison, Case Normalization, and
other sensitive information. 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. About URIs MAY identify resources which show sensitive information.
Applications SHOULD ensure appropriate restrictions are in place to Applications SHOULD ensure appropriate restrictions are in place to
protect such information from access or modification by untrusted protect such information from access or modification by untrusted
sources. sources.
The HTML representation of the URI about:blank MUST use the origin The HTML representation of the URI "about:blank" MUST use the origin
and the effective script origin as defined by HTML5 Section 5.4 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 Origin [W3C.WD-html5]. The origin of the "about:blank" Document is
when the Document is created. If the new browsing context has a set when the Document is created. If the new browsing context has a
creator browsing context, then the origin of the about:blank Document creator browsing context, then the origin of the "about:blank"
is the origin of the creator Document. Otherwise, the origin of the Document is the origin of the creator Document. Otherwise, the
about:blank Document is a globally unique identifier assigned when origin of the "about:blank" Document is a globally unique identifier
the new browsing context is created. assigned when the new browsing context is created.
6. IANA Considerations 9. IANA Considerations
This specification requests the IANA permanently register the about This specification requests the IANA provisionally register the about
URI scheme as specified in this document and summarized in the URI scheme as specified in this document and summarized in the
following template, per [RFC4395]: following template, per [RFC4395]:
URI scheme name: about URI scheme name: about
Status: Provisional Status: Provisional
URI scheme syntax: See Section 3 URI scheme syntax: See Section 3
URI scheme semantics: See Section 2 URI scheme semantics: See Section 2
Encoding considerations: Percent-encoding is allowed in 'segment' Encoding considerations: Percent-encoding is allowed in "segment"
components (see Section 3) and "query" components. Internationalization is handled by IRI
processing. See Section 4.
Intended usage: See Section 2 Intended usage: See Section 2
Applications and/or protocols that use this URI scheme name: Any Applications and/or protocols that use this URI scheme name: Any
applications that use URIs as identifiers for private resources, applications that use URIs as identifiers for private resources,
such as web browsers. such as web browsers.
Interoperability considerations: Applications are only required to Interoperability considerations: Applications are only required to
support about:blank, and may choose to interpret other about URIs support about:blank, and may choose to interpret other about URIs
differently. differently.
Security considerations: See Section 5 Security considerations: See Section 8
Relevant publications: None Relevant publications: None
Contact: Joseph Holsten (joseph@josephholsten.com) Contact: Joseph Holsten (joseph@josephholsten.com)
Author/Change controller: Joseph Holsten Author/Change controller: Joseph Holsten
7. Acknowledgements 10. Acknowledgements
This document was made possible thanks to the input of Henri Sivonen, This document was made possible thanks to the input of Henri Sivonen,
Ian Hickson and Larry Masinter. Ian Hickson and Larry Masinter.
8. References 11. References
8.1. Normative References 11.1. Normative References
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter,
"Uniform Resource Identifier (URI): Generic Syntax", "Uniform Resource Identifier (URI): Generic Syntax",
STD 66, RFC 3986, January 2005. STD 66, RFC 3986, January 2005.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, Specifications: ABNF", STD 68, RFC 5234,
January 2008. January 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. 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 [W3C.WD-html5] Hickson, I. and D. Hyatt, "HTML 5", World Wide Web
Consortium TR html5, February 2009, Consortium TR html5, February 2009,
<http://www.w3.org/TR/html5>. <http://www.w3.org/TR/html5>.
8.2. Informative References 11.2. Informative References
[RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines [RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines
and Registration Procedures for New URI Schemes", and Registration Procedures for New URI Schemes",
BCP 35, RFC 4395, February 2006. BCP 35, RFC 4395, February 2006.
[wikiabout] Wikipedia, The Free Encyclopedia, "About: URI [wikiabout] Wikipedia, The Free Encyclopedia, "About: URI
scheme", March 2009. scheme", March 2009.
Authors' Addresses Authors' Addresses
 End of changes. 29 change blocks. 
44 lines changed or deleted 84 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/
X-Generator: pyht 0.35