/
draft-holsten-about-uri-scheme-04.txt
336 lines (207 loc) · 11.3 KB
/
draft-holsten-about-uri-scheme-04.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
Network Working Group J. Holsten
Internet-Draft
Intended status: Standards Track L. Hunt
Expires: October 8, 2010 Opera Software, ASA.
April 6, 2010
The 'about' URI scheme
draft-holsten-about-uri-scheme-04
Abstract
A URI using the "about:" scheme, henceforth referred to as an "about"
URI, is designed to be used internally by applications for almost any
desired purpose.
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).
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 October 8, 2010.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
Holsten & Hunt Expires October 8, 2010 [Page 1]
Internet-Draft The 'about' URI scheme April 2010
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 BSD License.
1. 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".
2. Terminology
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 Internationalized Resource Identifiers to "about" URIs
according to [RFC3987]. Since "about" URIs do not use domain names,
"ireg-name" conversion is unnecessary.
Holsten & Hunt Expires October 8, 2010 [Page 2]
Internet-Draft The 'about' URI scheme April 2010
5. Resolving "about" URIs
A reserved "about" URI is one that is defined by a specification for
a specific purpose, which MAY also be defined to be resolvable.
An unreserved "about" URI is any other "about" URI that is not
defined by a specification for a specific purpose, but which may be
recognized by an application.
An unrecognized "about" URI is an "about" URI that is not recognized
by an application.
5.1. Reserved "about" URIs
Other specifications MAY reserve "about" URIs. Applications
attempting to resolve reserved "about" URIs that are not defined to
be resolvable, MAY treat such URIs as being unreserved.
5.1.1. about:blank
The "about" URI with the segment equal to "blank" and no query
component is reserved by this specification. i.e. "about:blank".
Applications resolving the URI "about:blank" MUST return a resource
of zero length, containing no data, with the media type "text/html"
and the character encoding "UTF-8".
Note: If a query component is provided with "about:blank", such as
"about:blank?" or "about:blank?foo", then the URI is not considered
to be reserved by this specification.
5.2. Unreserved "about" URIs
Applications MAY resolve any unreserved "about" URI to any resource,
either internal or external, or redirect to an alternative URI.
Note: As "about" URIs are designed to be internal to each
application, there is no expectation of any unreserved URI 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.
5.3. Unrecognized "about" URIs
Applications SHOULD resolve unrecognized "about" URIs in the same way
as "about:blank".
Holsten & Hunt Expires October 8, 2010 [Page 3]
Internet-Draft The 'about' URI scheme April 2010
5.4. 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. Current Mozilla Firefox
implementations also accept a query string to specify a specific
device to show more information about. e.g. about:
cache?device=offline provides details about the offline 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
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. Security Considerations
Implementations of the scheme SHOULD NOT modify data when processing
"about" resource identifiers. Applications SHOULD NOT use "about"
Holsten & Hunt Expires October 8, 2010 [Page 4]
Internet-Draft The 'about' URI scheme April 2010
URIs to access or erase files or other sensitive information.
"about" URIs MAY identify resources that reveal sensitive
information. Applications SHOULD ensure appropriate restrictions are
in place to protect such information from access or modification by
untrusted sources.
8. 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]:
URI scheme name: about
Status: Provisional
URI scheme syntax: See Section 3
URI scheme semantics: See Section 1
Encoding considerations: Percent-encoding is allowed in "segment"
and "query" components. Internationalization is handled by IRI
processing. See Section 4.
Intended usage: See Section 1
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 7
Relevant publications: None
Contact: Joseph Holsten (joseph@josephholsten.com)
Author/Change controller: Joseph Holsten
9. Acknowledgements
This document was made possible thanks to the input of Henri Sivonen,
Ian Hickson, Larry Masinter, Bjoern Hoehrmann and Julian Reschke.
Holsten & Hunt Expires October 8, 2010 [Page 5]
Internet-Draft The 'about' URI scheme April 2010
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource
Identifiers (IRIs)", RFC 3987, January 2005.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[UCS] International Organization for Standardization,
"Information Technology - Universal Multiple-Octet Coded
Character Set (UCS)", ISO/IEC Standard 10646,
December 2003.
10.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".
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 October 8, 2010 [Page 6]