1 |
|
2 |
HTTP Working Group A. Mutz, Hewlett-Packard |
3 |
INTERNET-DRAFT L. Montulli, Netscape |
4 |
<draft-mutz-http-attributes-02.txt> L. Masinter, Xerox |
5 |
K. Holtman, TUE |
6 |
Expires May 26, 1997 Nov 26, 1996 |
7 |
|
8 |
User-Agent Display Attributes |
9 |
|
10 |
STATUS OF THIS MEMO |
11 |
This document is an Internet-Draft. Internet-Drafts are working |
12 |
documents of the Internet Engineering Task Force (IETF), its |
13 |
areas, and its working groups. Note that other groups may also |
14 |
distribute working documents as Internet-Drafts. Internet-Drafts |
15 |
are draft documents valid for a maximum of six months and may be |
16 |
updated, replaced, or made obsolete by other documents at any |
17 |
time. It is inappropriate to use Internet-Drafts as reference |
18 |
material or to cite them other than as "work in progress". To |
19 |
learn the current status of any Internet-Draft, please check the |
20 |
"1id-abstracts.txt" listing contained in the Internet-Drafts |
21 |
Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net |
22 |
(Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East |
23 |
Coast), or ftp.isi.edu (US West Coast). |
24 |
|
25 |
Distribution of this document is unlimited. Please send comments |
26 |
to the HTTP working group at <http-wg@cuckoo.hpl.hp.com>. |
27 |
Discussions of the working group are archived at |
28 |
<URL:http://www.ics.uci.edu/pub/ietf/http/>. General discussions |
29 |
about HTTP and the applications which use HTTP should take place |
30 |
on the <www- talk@w3.org> mailing list. |
31 |
|
32 |
THIS DRAFT IS FOR DISCUSSION PURPOSES ONLY AND SHOULD NOT BE RELEASED |
33 |
IN ANY PRODUCTION SOFTWARE. |
34 |
|
35 |
ABSTRACT |
36 |
User-Agent Display Attributes Headers provide a means for an HTTP |
37 |
client [3] and server to negotiate for content dependent on the |
38 |
client display capabilities. This memo describes feature tags for |
39 |
introducing this information into an HTTP transmission. The |
40 |
intent is to present resource variants when available [5] such |
41 |
that a capable server may present documents in a preferred form to |
42 |
a client. If such a preferred form is not available, the server |
43 |
should still provide the requested documents. |
44 |
|
45 |
This specification is intended as an extension to HTTP/1.1 [4], to |
46 |
be implemented using the negotiation mechanism, transparent |
47 |
content negotiation [5]. |
48 |
|
49 |
INTRODUCTION |
50 |
|
51 |
Purpose |
52 |
|
53 |
The Hypertext Transfer Protocol (HTTP) is protocol for distributed, |
54 |
collaborative, hypermedia information systems. At present the |
55 |
server relies on the client's ability to present visual information |
56 |
in a usable fashion without information about the client's display |
57 |
characteristics. The presence of large images, video, and other |
58 |
visual information in HTML documents has strained this model. HTML |
59 |
documents suitable for a certain video monitor size are often less |
60 |
usable on displays of much smaller or larger resolution, such as |
61 |
PDA's and high-resolution printers. |
62 |
|
63 |
This specification defines feature tags [5] in the context of |
64 |
transparent content negotiation, an extension to the |
65 |
protocol referred to as HTTP. These tags enable a client to inform |
66 |
a server regarding its display capabilities. The server may then |
67 |
provide the variant of the resource more suitable for the display. |
68 |
Different variants would typically be higher or lower |
69 |
resolution images (for example) as appropriate. In the case of a |
70 |
printer client, the result would be higher quality output. In the |
71 |
case of a PDA, the result would be faster transmission. |
72 |
The presence of these tags may cause a request to return a reply |
73 |
requiring the client to choose from a list of variants, but must |
74 |
not cause a request to be failed due to lack of the proper variant. |
75 |
|
76 |
Operation |
77 |
|
78 |
The details of feature negotiation are described elsewhere [5]. |
79 |
|
80 |
When a server receives an HTTP request including user-attrib feature |
81 |
tags, it may use this information to return a variant of a resource |
82 |
most appropriate for the client's display (along with a list of the |
83 |
available variants.) The variants are expected to differ primarily |
84 |
in image size and color content, but other variations such as |
85 |
shorter text descriptions are also foreseeable. The number of |
86 |
variants should be limited to provide efficient caching since the |
87 |
number of variants could become very large. Operation of feature |
88 |
negotiation when a resource has a very long list of variants is |
89 |
under discussion. |
90 |
|
91 |
UA-attrib tags can indicate display dimensions (in pixels), display |
92 |
resolution (in pixels/inch), color capability and bit-depth, and |
93 |
display media type. The physical dimensions of the display can be |
94 |
inferred from the display size and display resolution. In the case |
95 |
of paper output, the paper size may be expressed as a token from a |
96 |
list of certain standard paper sizes. These are presented |
97 |
formally in the Notation section. |
98 |
|
99 |
The headers and arguments are case-insensitive. The syntax is presented |
100 |
in terms of the Accept-Features header proposed in [5] for historical |
101 |
reasons. |
102 |
|
103 |
USER-AGENT ATTRIBUTE FEATURE TAGS: |
104 |
|
105 |
pix-x<=n |
106 |
pix-y<=m |
107 |
|
108 |
The maximum display size of the client's device (or window)is transmitted |
109 |
in total horizontal, n, and vertical, m, pixel number, for example: pix- |
110 |
x<=1024, pix-y<=768. The intent is to present and allow the |
111 |
selection of the resource variants best suited to a client's device. |
112 |
This display size may conform to either the device display or the |
113 |
size of the client window depending on application. |
114 |
|
115 |
res<=n |
116 |
|
117 |
The display device maximum resolution is transmitted in pixels per inch. |
118 |
For example: res<=72. Certain resources such as images may have |
119 |
similar total pixel size but differing data size and quality |
120 |
depending on degree of compression. UA-res can be used to resolve a |
121 |
preferred image in this case. |
122 |
|
123 |
The authors recognize English units are not universal, but desire to |
124 |
avoid multiple unit definitions. |
125 |
|
126 |
UA-media=token |
127 |
|
128 |
The display device media is indicated with an ASCII token. Basic |
129 |
token values are: screen, stationary, transparency, envelope, or |
130 |
continuous-long. Other values may be defined. Except for `screen', |
131 |
these tokens are a subset of the Printer MIB MediaType set defined |
132 |
in RFC-1759 [6]. Other tokens could be registered and used as |
133 |
needed. |
134 |
|
135 |
They are defined as: |
136 |
screen: a refreshable display |
137 |
screen-paged: a refreshable display which cannot scroll |
138 |
stationary: separately cut sheets of an opaque material |
139 |
transparency: separately cut sheets of a transparent material |
140 |
envelope: envelopes that can be used for conventional |
141 |
mailing purposes |
142 |
continuous-short: continuously connected sheets of an opaque |
143 |
material connected along the short edge |
144 |
|
145 |
papersize=token |
146 |
|
147 |
For ua-media types such as stationary, it is often useful to |
148 |
have information about the size of display used. While it is more |
149 |
precise and predictable to use absolute resolution and pixel sizes, |
150 |
some applications find it useful to provide paper size in lieu of |
151 |
or in addition to this information. Paper sizes names and definitions |
152 |
are taken from the the Printer MIB RFC [6]. |
153 |
|
154 |
Examples of paper size tokens, with names from [6], are: |
155 |
na-letter: 8.5x11.0 inches |
156 |
iso-A4: 210x297 mm |
157 |
iso-B4: 250x353 mm |
158 |
iso-A3: 297x420 mm |
159 |
na-legal: 8.5x14 inches |
160 |
|
161 |
color<=n |
162 |
grey<=n |
163 |
|
164 |
The display color capabilities are indicated with feature tag and a |
165 |
parameter describing the number of color channel bits available. |
166 |
Values of n are typically (but not limited to) 2, 8, or 24. For |
167 |
example: grey=8 indicates a display capable of representing an |
168 |
image in 256 levels of a single color, while color=8 indicates a |
169 |
display capable of representing an image with a palette of 256 |
170 |
colors. |
171 |
|
172 |
The `default' case, implied by absence of the tag, is color<=24. |
173 |
In this case any palletizing and/or half-toning is done by the |
174 |
client. |
175 |
|
176 |
The authors recognize the issue of color model may be raised, but |
177 |
color model can be implied or specified within image MIME types such |
178 |
as JPEG or TIFF. |
179 |
|
180 |
NEGOTIATION |
181 |
|
182 |
The use of a UA-attrib feature tags should not cause a request to |
183 |
fail. The intent is to request a preferred presentation rather than |
184 |
a basic inability to present a resource (such as inability to handle |
185 |
a MIME type.) Details of feature negotiation are described |
186 |
elsewhere [5]. |
187 |
|
188 |
|
189 |
NOTATION |
190 |
|
191 |
UA-attrib related syntax is specified here relative to the |
192 |
definitions and rules of the HTTP specifications and to the definitions |
193 |
of feature tags described in [5]. |
194 |
|
195 |
Feature tags |
196 |
|
197 |
UA-attrib defines specific feature tags, pix-x, pix-y, res, UA-media |
198 |
paged, grey, and color to be registered as feature tags for |
199 |
transparent feature negotiation. A mechanism to register feature tags |
200 |
has been submitted for discussion [7].These attibutes may be used |
201 |
together or independently. The feature tags are defined as follows: |
202 |
|
203 |
|
204 |
Form of tag Intended use |
205 |
---------- ----------- |
206 |
pix-x With a numeric range |
207 |
pix-y With a numeric range |
208 |
res With a numeric range |
209 |
UA-media With one or more values of media |
210 |
papersize With one or more values of paper |
211 |
color With a numeric range |
212 |
grey With a numeric range |
213 |
|
214 |
|
215 |
Tokens used: values of tokens: |
216 |
----------- ----------------- |
217 |
media token | ("screen" | "stationery" |"transparency" | |
218 |
"envelope" | "continuous-short" | "screen-paged") |
219 |
paper token | ("na-letter" | "iso-a4" | "iso-b4" | "iso-a3" |
220 |
| "na-legal") |
221 |
|
222 |
Examples of the above feature tags: |
223 |
|
224 |
pix-x<=1024 |
225 |
pix-y<=768 |
226 |
indicates a 1024x768 display |
227 |
|
228 |
res<=72 |
229 |
indicates a 72 dpi display |
230 |
|
231 |
UA-media=stationery |
232 |
indicates the display is a cut sheet of opaque material, such as |
233 |
paper. |
234 |
|
235 |
papersize=iso-a4 |
236 |
indicates the display size is 210x297mm. |
237 |
|
238 |
color<=24 |
239 |
indicates the display supports 24-bit (8-bit/channel) color. |
240 |
|
241 |
Future work and other issues |
242 |
|
243 |
A discussion of input device availability is ongoing. The use of |
244 |
feature tags such as voiceinput, pointeronly or keyboardonly |
245 |
could be used to serve interactive resources customized |
246 |
for various clients not possessing the `normal' pointer-plus- |
247 |
keyboard interface. |
248 |
|
249 |
The previous draft contained both UA-pixels and UA-windowpixels |
250 |
tags. This draft contains only one UA-pix tag, and it's use |
251 |
(to indicate window size for an application or display size of |
252 |
a device) is dependent on the application. |
253 |
|
254 |
A discussion of rectangular (non-square) pixels was held. The |
255 |
feature may be implemented by introducing an aspect-ratio tag |
256 |
for resolution such as res-aspect, which indicates the resolution |
257 |
ratio of the vertical direction to the horizontal direction. It |
258 |
is unclear whether this is significant at this time. |
259 |
|
260 |
Using numeric feature tags [5] section 7.2, it is possible for a |
261 |
server to construct a variant list which will not provide a |
262 |
`default' variant when the feature tag is not implemented by the |
263 |
client. Proper construction of such variant lists requires care. |
264 |
|
265 |
Acknowledgments |
266 |
|
267 |
This document has benefited from the comments of Ho John Lee, Brian |
268 |
Behlendorf, and Jeff Mogul. |
269 |
|
270 |
References |
271 |
|
272 |
[1] T. Berners-Lee. "Universal Resource Identifiers in WWW." A |
273 |
Unifying Syntax for the Expression of Names and Addresses of Objects |
274 |
on the Network as used in the World-Wide Web." RFC 1630, CERN, June |
275 |
1994. |
276 |
|
277 |
[2] T. Berners-Lee, L. Masinter, M. McCahill. |
278 |
"Uniform Resource Locators (URL)." RFC 1738, CERN, Xerox PARC, |
279 |
University of Minnesota, December 1994. |
280 |
|
281 |
[3] T. Berners-Lee, R. Fielding, H. Frystyk. |
282 |
"Hypertext Transfer Protocol -- HTTP/1.0." RFC 1945." MIT/LCS, UC |
283 |
Irvine, May 1996. |
284 |
|
285 |
[4] T. Berners-Lee, R. Fielding,I J. Gettys, J. Mogul, H. |
286 |
Frystyk. "Hypertext Transfer Protocol - HTTP/1.1" MIT/LCS, |
287 |
UC Irvine, May 1996. |
288 |
|
289 |
[5] K. Holtman, A. Mutz, "Transparent Content Negotiation in HTTP" |
290 |
IETF Internet Draft draft-holtman-http-negotiation-04.txt, Nov. 1996. |
291 |
|
292 |
[6] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog. |
293 |
"Printer MIB." RFC 1759." IETF, March 1995 |
294 |
|
295 |
[7] K. Holtman, A. Mutz, "Feature Tag Registration Procedures" IETF |
296 |
Internet Draft draft-ietf-http-feature-reg-00.txt, October 1996. |
297 |
|
298 |
Authors' Addresses |
299 |
|
300 |
Larry Masinter |
301 |
Xerox Palo Alto Research Center |
302 |
3333 Coyote Hill Road |
303 |
Palo Alto CA 94304 |
304 |
Fax +1 415 812 4333 |
305 |
Email: masinter@parc.xerox.com |
306 |
|
307 |
Lou Montulli |
308 |
Netscape Communications Corp. |
309 |
501 E. Middlefield Rd. |
310 |
Mountain View, CA 94043, USA |
311 |
Phone +1 415 528 2600 |
312 |
Email: montulli@netscape.com |
313 |
|
314 |
Andrew H. Mutz |
315 |
Hewlett-Packard Company |
316 |
1501 Page Mill Road 3U-3 |
317 |
Palo Alto CA 94304, USA |
318 |
Fax +1 415 857 4691 |
319 |
Email: mutz@hpl.hp.com |
320 |
|
321 |
|
322 |
Koen Holtman |
323 |
Technische Universiteit Eindhoven |
324 |
Postbus 513 |
325 |
Kamer HG 6.57 |
326 |
5600 MB Eindhoven (The Netherlands) |
327 |
Email: koen@win.tue.nl |
328 |
|