idnits 2.17.1 draft-holsten-about-uri-scheme-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 6, 2010) is 5127 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. 'UCS' -- Obsolete informational reference (is this intentional?): RFC 4395 (Obsoleted by RFC 7595) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Holsten 3 Internet-Draft 4 Intended status: Standards Track L. Hunt 5 Expires: October 8, 2010 Opera Software, ASA. 6 April 6, 2010 8 The 'about' URI scheme 9 draft-holsten-about-uri-scheme-04 11 Abstract 13 A URI using the "about:" scheme, henceforth referred to as an "about" 14 URI, is designed to be used internally by applications for almost any 15 desired purpose. 17 Editorial Note (To be removed by RFC Editor) 19 Discussion of this draft should take place on the URI Review mailing 20 list (uri-review@ietf.org). 22 Status of This Memo 24 This Internet-Draft is submitted to IETF in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF), its areas, and its working groups. Note that 29 other groups may also distribute working documents as Internet- 30 Drafts. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 The list of current Internet-Drafts can be accessed at 38 http://www.ietf.org/ietf/1id-abstracts.txt. 40 The list of Internet-Draft Shadow Directories can be accessed at 41 http://www.ietf.org/shadow.html. 43 This Internet-Draft will expire on October 8, 2010. 45 Copyright Notice 47 Copyright (c) 2010 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the BSD License. 60 1. Introduction 62 An "about" URI is designed to be used internally by applications for 63 almost any desired purpose. Such URIs have commonly been used by web 64 browsers for providing access to built-in functionality, such as 65 application information, preferences, settings, or "easter eggs". 67 2. Terminology 69 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 70 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 71 document are to be interpreted as described in [RFC2119]. 73 3. URI Syntax 75 The general syntax of an "about" URI is defined below using ABNF 76 [RFC5234]: 78 abouturi = "about:" segment [ "?" query ] 80 where "segment" and "query" are defined in [RFC3986]. 82 4. Encoding Considerations 84 Because many characters are not permitted with this syntax, the 85 "segment" and "query" elements may contain characters from the 86 Unicode Character Set [UCS] as suggested by URI [RFC3986], by first 87 encoding those characters as octets to the UTF-8 character encoding 88 [RFC3629]; then only those octets that do not correspond to 89 characters in the unreserved set should be percent-encoded. 91 By using UTF-8 encoding, there are no known compatibility issues with 92 mapping Internationalized Resource Identifiers to "about" URIs 93 according to [RFC3987]. Since "about" URIs do not use domain names, 94 "ireg-name" conversion is unnecessary. 96 5. Resolving "about" URIs 98 A reserved "about" URI is one that is defined by a specification for 99 a specific purpose, which MAY also be defined to be resolvable. 101 An unreserved "about" URI is any other "about" URI that is not 102 defined by a specification for a specific purpose, but which may be 103 recognized by an application. 105 An unrecognized "about" URI is an "about" URI that is not recognized 106 by an application. 108 5.1. Reserved "about" URIs 110 Other specifications MAY reserve "about" URIs. Applications 111 attempting to resolve reserved "about" URIs that are not defined to 112 be resolvable, MAY treat such URIs as being unreserved. 114 5.1.1. about:blank 116 The "about" URI with the segment equal to "blank" and no query 117 component is reserved by this specification. i.e. "about:blank". 118 Applications resolving the URI "about:blank" MUST return a resource 119 of zero length, containing no data, with the media type "text/html" 120 and the character encoding "UTF-8". 122 Note: If a query component is provided with "about:blank", such as 123 "about:blank?" or "about:blank?foo", then the URI is not considered 124 to be reserved by this specification. 126 5.2. Unreserved "about" URIs 128 Applications MAY resolve any unreserved "about" URI to any resource, 129 either internal or external, or redirect to an alternative URI. 131 Note: As "about" URIs are designed to be internal to each 132 application, there is no expectation of any unreserved URI returning 133 the same resource among different applications. However, it is worth 134 noting that some conventions have arisen for providing particular 135 functionality via common "about" URIs. 137 5.3. Unrecognized "about" URIs 139 Applications SHOULD resolve unrecognized "about" URIs in the same way 140 as "about:blank". 142 5.4. Examples 144 The following examples illustrate some known URIs supported by 145 existing applications. They are not guaranteed to be resolvable by 146 every application. 148 about:config Commonly provides access to application preferences and 149 settings 151 about:cache Commonly provides access to information about resources 152 stored in the browsers cache. Current Mozilla Firefox 153 implementations also accept a query string to specify a specific 154 device to show more information about. e.g. about: 155 cache?device=offline provides details about the offline cache. 157 about:plugins Commonly provides access to information about 158 installed plugins 160 about:mozilla An easter egg supported by Mozilla showing a passage 161 from the fictional Book of Mozilla 163 Applications are also permitted to redirect such URIs. For example, 164 Opera redirects all "about" URIs, with the exception of 165 "about:blank", to the equivalent URI using their internal "opera:" 166 scheme. e.g. "about:config" redirects to "opera:config". 168 This is not an exhaustive list. Many more are supported by numerous 169 applications. For more examples, consult Wikipedia's entry on the 170 "about: URI Scheme" [wikiabout]. 172 6. Normalization 174 "about" URIs use the standard URI normalization rules [RFC3986], 175 specifically Simple String Comparison, Case Normalization, and 176 Percent-Encoding Normalization. For example, "about:blank", 177 "about:blan%6B" and "about:blan%6b" are equivalent, though the 178 percent-encoded forms are discouraged. Due to the structure of 179 "about" URIs, some normalizations do not apply, specifically Syntax- 180 Based Normalization, Scheme-Based Normalization, and Protocol-Based 181 Normalization. For example, "about:blank" is not equivalent to 182 "about:BLANK", "about:blank?" or "about:blank:", each may represent a 183 different resource. Similarly, "about:blank%3F" is not equivalent to 184 "about:blank?". 186 7. Security Considerations 188 Implementations of the scheme SHOULD NOT modify data when processing 189 "about" resource identifiers. Applications SHOULD NOT use "about" 190 URIs to access or erase files or other sensitive information. 192 "about" URIs MAY identify resources that reveal sensitive 193 information. Applications SHOULD ensure appropriate restrictions are 194 in place to protect such information from access or modification by 195 untrusted sources. 197 8. IANA Considerations 199 This specification requests the IANA provisionally register the 200 "about" URI scheme as specified in this document and summarized in 201 the following template, per [RFC4395]: 203 URI scheme name: about 205 Status: Provisional 207 URI scheme syntax: See Section 3 209 URI scheme semantics: See Section 1 211 Encoding considerations: Percent-encoding is allowed in "segment" 212 and "query" components. Internationalization is handled by IRI 213 processing. See Section 4. 215 Intended usage: See Section 1 217 Applications and/or protocols that use this URI scheme name: Any 218 applications that use URIs as identifiers for private resources, 219 such as web browsers. 221 Interoperability considerations: Applications are only required to 222 support "about:blank", and may choose to interpret other "about" 223 URIs differently. 225 Security considerations: See Section 7 227 Relevant publications: None 229 Contact: Joseph Holsten (joseph@josephholsten.com) 231 Author/Change controller: Joseph Holsten 233 9. Acknowledgements 235 This document was made possible thanks to the input of Henri Sivonen, 236 Ian Hickson, Larry Masinter, Bjoern Hoehrmann and Julian Reschke. 238 10. References 240 10.1. Normative References 242 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 243 Requirement Levels", BCP 14, RFC 2119, March 1997. 245 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 246 10646", STD 63, RFC 3629, November 2003. 248 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 249 Resource Identifier (URI): Generic Syntax", STD 66, 250 RFC 3986, January 2005. 252 [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource 253 Identifiers (IRIs)", RFC 3987, January 2005. 255 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 256 Specifications: ABNF", STD 68, RFC 5234, January 2008. 258 [UCS] International Organization for Standardization, 259 "Information Technology - Universal Multiple-Octet Coded 260 Character Set (UCS)", ISO/IEC Standard 10646, 261 December 2003. 263 10.2. Informative References 265 [RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and 266 Registration Procedures for New URI Schemes", BCP 35, 267 RFC 4395, February 2006. 269 [wikiabout] Wikipedia, The Free Encyclopedia, "About: URI scheme". 271 Authors' Addresses 273 Joseph Anthony Pasquale Holsten 275 EMail: joseph@josephholsten.com 276 URI: http://josephholsten.com 278 Lachlan Hunt 279 Opera Software, ASA. 281 EMail: lachlan.hunt@lachy.id.au 282 URI: http://lachy.id.au/