| 1 |
|
| 2 |
HTTP Working Group Koen Holtman, TUE |
| 3 |
Internet-Draft Andrew Mutz, Hewlett-Packard |
| 4 |
Expires: January 28, 1998 July 28, 1997 |
| 5 |
|
| 6 |
Feature Tag Scenarios |
| 7 |
|
| 8 |
draft-ietf-http-feature-scenarios-01.txt |
| 9 |
|
| 10 |
|
| 11 |
STATUS OF THIS MEMO |
| 12 |
|
| 13 |
This document is an Internet-Draft. Internet-Drafts are |
| 14 |
working documents of the Internet Engineering Task Force |
| 15 |
(IETF), its areas, and its working groups. Note that other |
| 16 |
groups may also distribute working documents as |
| 17 |
Internet-Drafts. |
| 18 |
|
| 19 |
Internet-Drafts are draft documents valid for a maximum of |
| 20 |
six months and may be updated, replaced, or obsoleted by |
| 21 |
other documents at any time. It is inappropriate to use |
| 22 |
Internet-Drafts as reference material or to cite them other |
| 23 |
than as "work in progress". |
| 24 |
|
| 25 |
To learn the current status of any Internet-Draft, please |
| 26 |
check the "1id-abstracts.txt" listing contained in the |
| 27 |
Internet-Drafts Shadow Directories on ftp.is.co.za |
| 28 |
(Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific |
| 29 |
Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US |
| 30 |
West Coast). |
| 31 |
|
| 32 |
Distribution of this document is unlimited. Please send |
| 33 |
comments to the HTTP working group at |
| 34 |
<http-wg@cuckoo.hpl.hp.com>. Discussions of the working |
| 35 |
group are archived at |
| 36 |
<URL:http://www.ics.uci.edu/pub/ietf/http/>. General |
| 37 |
discussions about HTTP and the applications which use HTTP |
| 38 |
should take place on the <www-talk@w3.org> mailing list. |
| 39 |
|
| 40 |
A HTML version of this document can be found at |
| 41 |
<URL:http://gewis.win.tue.nl/~koen/conneg/>. |
| 42 |
|
| 43 |
ABSTRACT |
| 44 |
|
| 45 |
Recent Internet applications, such as the World Wide Web, tie |
| 46 |
together a great diversity in data formats, client and server |
| 47 |
platforms, and communities. This has created a need for various |
| 48 |
kinds of negotiation mechanisms, which tailor the data which is |
| 49 |
exchanged, or the exchange process itself, to the capabilities and |
| 50 |
preferences of the parties involved. |
| 51 |
|
| 52 |
Extensible negotiation mechanisms need a vocabulary to identify |
| 53 |
various things which can be negotiated on. To promote |
| 54 |
interoperability, a registration process is needed to ensure that |
| 55 |
that this vocabulary, which can be shared between negotiation |
| 56 |
mechanisms, is developed in an orderly, well-specified, and public |
| 57 |
manner. |
| 58 |
|
| 59 |
This document discusses requirements and scenarios the registration |
| 60 |
of this vocabulary, which is the vocabulary of feature tags. |
| 61 |
Feature tag registration is foreseen as an ongoing, open process |
| 62 |
which will keep pace with the introduction of new features by |
| 63 |
software vendors, and other parties such as standards bodies. |
| 64 |
|
| 65 |
|
| 66 |
TABLE OF CONTENTS |
| 67 |
|
| 68 |
1 Introduction |
| 69 |
|
| 70 |
2 Basic concepts and definitions |
| 71 |
2.1 Areas of negotiation and feature tags |
| 72 |
2.2 Complexity of negotiation |
| 73 |
2.3 The result in an area of negotiation |
| 74 |
|
| 75 |
3 Extensible negotiation mechanisms |
| 76 |
3.1 The need for extensible negotiation mechanisms: the case of the Web |
| 77 |
3.2 Extensible negotiation mechanisms for the Web |
| 78 |
3.3 Extensible negotiation mechanisms for other Internet protocols |
| 79 |
|
| 80 |
4 Feature tag registration |
| 81 |
4.1 IANA registration procedures |
| 82 |
4.2 Examples of parties who would want to register feature tags |
| 83 |
4.3 Feature tag registration scenario |
| 84 |
4.4 Volume considerations |
| 85 |
4.5 Danger of excessive registration |
| 86 |
|
| 87 |
5 Security considerations |
| 88 |
|
| 89 |
6 Acknowledgments |
| 90 |
|
| 91 |
7 References |
| 92 |
|
| 93 |
8 Authors' addresses |
| 94 |
|
| 95 |
|
| 96 |
1 Introduction |
| 97 |
|
| 98 |
Recent Internet applications, such as the World Wide Web, tie |
| 99 |
together a great diversity in data formats, client and server |
| 100 |
platforms, and communities. This has created a need for various |
| 101 |
kinds of negotiation mechanisms, which tailor the data which is |
| 102 |
exchanged, or the exchange process itself, to the capabilities and |
| 103 |
preferences of the parties involved. |
| 104 |
|
| 105 |
Extensible negotiation mechanisms need a vocabulary to identify |
| 106 |
various things which can be negotiated on. To promote |
| 107 |
interoperability, a registration process is needed to ensure that |
| 108 |
that this vocabulary, which can be shared between negotiation |
| 109 |
mechanisms, is developed in an orderly, well-specified, and public |
| 110 |
manner. |
| 111 |
|
| 112 |
This document discusses requirements and scenarios the registration |
| 113 |
of this vocabulary, which is the vocabulary of feature tags. |
| 114 |
Feature tag registration is foreseen as an ongoing, open process |
| 115 |
which will keep pace with the introduction of new features by |
| 116 |
software vendors, and other parties such as standards bodies. |
| 117 |
|
| 118 |
|
| 119 |
2 Basic concepts and definitions |
| 120 |
|
| 121 |
2.1 Areas of negotiation and feature tags |
| 122 |
|
| 123 |
Something which can be negotiated on is called an `area of |
| 124 |
negotiation' in this document. Examples of areas of negotiation |
| 125 |
are: |
| 126 |
|
| 127 |
* the MIME media type of the data which is transmitted |
| 128 |
* the language of the text document which is transmitted |
| 129 |
* the color depth of the screen on which something is to be |
| 130 |
displayed |
| 131 |
* whether the recipient supports the `floating 5 dimensional |
| 132 |
tables' feature |
| 133 |
* the fonts which are available to the recipient |
| 134 |
* whether a Web user prefers speed over graphical detail |
| 135 |
* whether the recipient is capable of displaying graphical |
| 136 |
content |
| 137 |
* whether the user prefers a blue background with purple dots over |
| 138 |
a green background with pictures of small furry animals, except |
| 139 |
on Fridays. |
| 140 |
|
| 141 |
A feature tag identifies a single area of negotiation. |
| 142 |
|
| 143 |
It is expected that the majority of feature tags will identify new |
| 144 |
areas of negotiation, in which the object of negotiation is to |
| 145 |
decide on the presence or use of some new feature in a software |
| 146 |
product. This explains the name `feature tag'. |
| 147 |
|
| 148 |
It is recognized that there is continuous growth in the number of |
| 149 |
areas in which some form of negotiation is desirable. To keep up |
| 150 |
with this growth, extensible negotiation mechanisms are needed, |
| 151 |
which refer to the feature tag vocabulary to identify new areas of |
| 152 |
negotiation, rather than relying on hard-coded knowledge about a |
| 153 |
few areas. |
| 154 |
|
| 155 |
To avoid the duplication of work, and to promote the interoperable |
| 156 |
naming of areas of negotiation across protocols and applications, |
| 157 |
the feature tag namespace should not be bound to a particular |
| 158 |
protocol or negotiation mechanism. Also, there should be no prior |
| 159 |
restriction on the areas of negotiation which may be identified by |
| 160 |
a feature tag, other than that it must be conceivable to negotiate |
| 161 |
in these areas in the context of some Internet application. |
| 162 |
|
| 163 |
|
| 164 |
2.2 Complexity of negotiation |
| 165 |
|
| 166 |
Negotiation processes can often be complex. Two frequent sources |
| 167 |
of complexity are: |
| 168 |
|
| 169 |
1. An area of negotiation may be inherently complex. For |
| 170 |
example, negotiating on the use of a particular media type is |
| 171 |
inherently more complex than negotiating on the presence of a |
| 172 |
single feature, because there are more possible outcomes. |
| 173 |
|
| 174 |
2. There may be complex of interdependencies between the choices |
| 175 |
in different areas of negotiation. For example, if the |
| 176 |
following versions of a document are available on a Web server: |
| 177 |
|
| 178 |
* text/html, English |
| 179 |
* text/plain, French |
| 180 |
* audio/x-wav, German |
| 181 |
|
| 182 |
then the content negotiation mechanism cannot treat the areas |
| 183 |
of `MIME media type negotiation' and `language negotiation' as |
| 184 |
separate. |
| 185 |
|
| 186 |
It is recognized that extensible negotiation mechanisms will often |
| 187 |
differ in the type and amount of complexity they can handle. Thus, |
| 188 |
though negotiation mechanisms share the feature tag namespace, it |
| 189 |
will not be the case that every tag is usable in every negotiation |
| 190 |
mechanism, or that every negotiation mechanism will be able to |
| 191 |
handle all possible interdependencies. |
| 192 |
|
| 193 |
|
| 194 |
2.3 The result in an area of negotiation |
| 195 |
|
| 196 |
During negotiation, negotiation mechanisms will often need to |
| 197 |
transmit (canonical representations of) the possible results in |
| 198 |
various areas of negotiation over the wire. Also, at the end of a |
| 199 |
negotiation process, the mechanism may need to return (a |
| 200 |
canonical representation of) the result to the application which |
| 201 |
invoked it. |
| 202 |
|
| 203 |
In many areas of negotiation, there will be a natural, canonical |
| 204 |
representation of the result. For example, in the area |
| 205 |
|
| 206 |
* whether the recipient supports the `floating 5 dimensional |
| 207 |
tables' feature |
| 208 |
|
| 209 |
the canonical representation of the result is a boolean value (yes, |
| 210 |
the feature is supported, or no, the feature is not supported). In |
| 211 |
the area |
| 212 |
|
| 213 |
* the MIME media type of the data which is transmitted |
| 214 |
|
| 215 |
the canonical representation of the result will be a MIME media |
| 216 |
type identifier like text/html or application/postscript. In some |
| 217 |
areas of negotiation, the result could be a compound value (e.g. a |
| 218 |
coordinate in a 3D space). |
| 219 |
|
| 220 |
To promote interoperability, the registration entry of a feature |
| 221 |
tag can include a definition of the canonical representations of |
| 222 |
the possible results in the corresponding area of negotiation. |
| 223 |
|
| 224 |
|
| 225 |
3 Extensible negotiation mechanisms |
| 226 |
|
| 227 |
We call a negotiation mechanism extensible if the set of areas |
| 228 |
on which the mechanism can negotiate is extensible, instead of |
| 229 |
hard-coded inside the mechanism. |
| 230 |
|
| 231 |
3.1 The need for extensible negotiation mechanisms: the case of the Web |
| 232 |
|
| 233 |
HTTP [2] has traditionally recognized four areas of negotiation: |
| 234 |
|
| 235 |
1. MIME media type |
| 236 |
2. Charset |
| 237 |
3. Language |
| 238 |
4. Encoding |
| 239 |
|
| 240 |
HTTP provides support for these areas of negotiation by defining |
| 241 |
identifiers (Accept headers) for these areas, and defining |
| 242 |
canonical representations of the possible results in these areas. |
| 243 |
|
| 244 |
Experience with the Web has shown there is a great need to |
| 245 |
negotiate on things which do not fit the four areas above. This |
| 246 |
need has shown itself in a number of ways: |
| 247 |
|
| 248 |
- Web servers routinely use (abuse) other headers than the Accept |
| 249 |
headers for negotiation purposes. In particular, the HTTP |
| 250 |
User-Agent header has been widely used by web sites to detect |
| 251 |
the presence of certain features in browsers, and by browsers |
| 252 |
to trigger certain features in web sites, even though such use |
| 253 |
is error-prone, and conflicts with the original purpose of the |
| 254 |
User-Agent header. |
| 255 |
|
| 256 |
- Web servers routinely use `dynamic URLs' and cookies to encode |
| 257 |
negotiation related information like user preferences. This |
| 258 |
can be cache-unfriendly, in particular in the case of `dynamic |
| 259 |
URLs'. |
| 260 |
|
| 261 |
- During the standardization of HTTP, several proposals for |
| 262 |
additional Accept headers, matching additional areas of |
| 263 |
negotiation, were made. These proposals have been rejected in |
| 264 |
favor of developing an extensible negotiation mechanism. |
| 265 |
|
| 266 |
- There has been pressure to extend the MIME media type parameter |
| 267 |
mechanism to allow for the naming of, and negotiation on, new |
| 268 |
features in media types already registered, something which is |
| 269 |
explicitly disallowed in the MIME type registration rules. It |
| 270 |
was recognized that this pressure would be better addressed by |
| 271 |
creating a new namespace independent from the MIME media type |
| 272 |
space. |
| 273 |
|
| 274 |
|
| 275 |
3.2 Extensible negotiation mechanisms for the Web |
| 276 |
|
| 277 |
In the IETF HTTP working group, it has been recognized that the |
| 278 |
number of areas for Web content negotiation is growing so rapidly |
| 279 |
that the IETF would never be able to keep up with this growth by by |
| 280 |
continually revising a negotiation mechanism with a hard-coded set |
| 281 |
of areas. Instead, a number of extensible content negotiation |
| 282 |
mechanisms have been proposed. All of these mechanisms share the |
| 283 |
need for an external vocabulary to identify areas, a vocabulary |
| 284 |
which can be updated quickly enough to keep pace with the |
| 285 |
introduction of new features by Web software vendors. |
| 286 |
|
| 287 |
The proposed extensible content negotiation mechanisms are |
| 288 |
transparent content negotiation [2], and negotiation mechanisms |
| 289 |
based on various forms of "active content". In "active content" |
| 290 |
negotiation, the web server returns an executable program which is |
| 291 |
run by the browser. This program then accesses a database of |
| 292 |
negotiation related settings inside the browser, and chooses and |
| 293 |
renders the most appropriate content. Note that there are several |
| 294 |
existing and proposed forms of active content. |
| 295 |
|
| 296 |
To tie everything together, a browser architecture with a common |
| 297 |
internal database for negotiation related information has been |
| 298 |
proposed. The database would be filled to reflect the capabilities |
| 299 |
of all browser components, both native components and plugins, and |
| 300 |
the preference settings made by the user. Feature tags would serve |
| 301 |
as the keys under which the database entries for different areas of |
| 302 |
negotiation are stored. Individual negotiation mechanisms could |
| 303 |
access the central database through some API. The architecture is |
| 304 |
shown in the following picture. |
| 305 |
|
| 306 |
+-----------------------------------------------------------------+ |
| 307 |
| BROWSER | |
| 308 |
| | |
| 309 |
| +------------------+ +----------+ +----------+ +-----------+ | |
| 310 |
| | Native browser | | Plugin 1 | | Plugin 2 | |User | | |
| 311 |
| | rendering engine | +----------+ +----------+ |preferences| | |
| 312 |
| +------------------+ | | +-----------+ | |
| 313 |
| | | | | | |
| 314 |
| V V V V | |
| 315 |
| +------------------------------------------------------+ | |
| 316 |
| | Common internal database for negotiation information | | |
| 317 |
| +------------------------------------------------------+ | |
| 318 |
| | | | | | |
| 319 |
| API API API API | |
| 320 |
| | | | | | |
| 321 |
| V V V V | |
| 322 |
| +---------+ +---------+ +-------------+ | |
| 323 |
| | Java | | JScript | | transparent | | |
| 324 |
| | based | | based | ..etc | content | | |
| 325 |
| | active | | active | | negotiation | | |
| 326 |
| | content | | content | | engine | | |
| 327 |
| +---------+ +---------+ +-------------+ | |
| 328 |
| | |
| 329 |
+-----------------------------------------------------------------+ |
| 330 |
|
| 331 |
|
| 332 |
3.3 Extensible negotiation mechanisms for other Internet protocols |
| 333 |
|
| 334 |
Extensible negotiation mechanisms for Internet printing and |
| 335 |
Internet fax are currently under investigation in the IETF. |
| 336 |
|
| 337 |
It has been proposed to make multipart/alternative negotiation in |
| 338 |
Internet mail more extensible, in particular if the mail client is |
| 339 |
part of a Web browser, by adapting some of the protocol elements |
| 340 |
developed for transparent content negotiation [2] to Internet mail. |
| 341 |
|
| 342 |
4 Feature tag registration |
| 343 |
|
| 344 |
4.1 IANA registration procedures |
| 345 |
|
| 346 |
Examples of IANA registration procedures can be found in [1]. |
| 347 |
|
| 348 |
There has been some confusion over what the IANA will register. |
| 349 |
Jon Postel told us that: |
| 350 |
|
| 351 |
The IANA is pretty good at keeping lists. It is not so good at |
| 352 |
evaluating the merits (or lack thereof) of the requests to add |
| 353 |
things to lists. [...] So, yes the IANA would keep the list of |
| 354 |
"feature tags" provided that that there is either a very simple |
| 355 |
way to decide if requests pass muster, or a designated someone |
| 356 |
else will be available to make that decision. |
| 357 |
|
| 358 |
So two types of registration namespaces can be created: |
| 359 |
|
| 360 |
a) a space with feature tag review process performed by the IETF |
| 361 |
|
| 362 |
b) a space with very basic registration rules which do not take |
| 363 |
the merit of the feature tag into account. To quote [1], |
| 364 |
this type of registration "does not imply endorsement, |
| 365 |
approval, or recommendation by the IANA or IETF or even |
| 366 |
certification that the specification is adequate." |
| 367 |
|
| 368 |
If extensible negotiation mechanisms are to keep up with the speed |
| 369 |
of development in the Web, a type b) registration process for |
| 370 |
feature tags seems necessary, if only because the IETF does not |
| 371 |
have the manpower required for a review process which can keep up |
| 372 |
with the speed of Web development. |
| 373 |
|
| 374 |
It is proposed that feature tag registration closely mimics the new |
| 375 |
MIME media type registration rules in [1], providing both type a) |
| 376 |
and b) namespaces. This proposal is based on the observation that |
| 377 |
the rules in [1] seem to be working nicely. |
| 378 |
|
| 379 |
|
| 380 |
4.2 Examples of parties who would want to register feature tags |
| 381 |
|
| 382 |
Feature registration allows for the quick introduction of new areas |
| 383 |
of negotiation in extensible negotiation mechanisms. In a Web |
| 384 |
context, examples of parties which might want to introduce new |
| 385 |
areas of negotiation are: |
| 386 |
|
| 387 |
1. Browser and browser component vendors, when inventing and |
| 388 |
implementing new features or components. |
| 389 |
|
| 390 |
2. The IETF or some other standards body, when creating a new |
| 391 |
standard for a content format, or when identifying a new type |
| 392 |
of user preference (for example a preference for |
| 393 |
representations without animated gifs). |
| 394 |
|
| 395 |
3. Content authors, when identifying a new type of user |
| 396 |
preference and creating new content to match. |
| 397 |
|
| 398 |
A fast registration process is mainly needed for registration by |
| 399 |
group 1 and 3. For 2, a slower process would suffice. |
| 400 |
|
| 401 |
|
| 402 |
4.3 Feature tag registration scenario |
| 403 |
|
| 404 |
Below is a scenario, in a Web context, for the registration of a |
| 405 |
feature tag which succeeds in being generally used. |
| 406 |
|
| 407 |
Time Action |
| 408 |
(months) |
| 409 |
|
| 410 |
t+0 Browser vendor A invents the new feature XY. |
| 411 |
|
| 412 |
t+1 Vendor A starts implementing XY, and completes a |
| 413 |
feature tag registration form for the `g.xy' tag. |
| 414 |
|
| 415 |
t+2 Vendor A submits the form and the IANA registers the `g.xy' |
| 416 |
feature tag. |
| 417 |
|
| 418 |
t+2.1 Vendor A releases a new browser version, which |
| 419 |
a) implements the feature XY |
| 420 |
b) has an entry under `g.xy' in its negotiation database, |
| 421 |
which tells extensible negotiation mechanisms that this |
| 422 |
feature is present |
| 423 |
|
| 424 |
t+2.5 `Early adopter' content authors start making content |
| 425 |
representations which use XY. |
| 426 |
|
| 427 |
t+3 Vendor B starts implementing XY in their own browser. |
| 428 |
|
| 429 |
t+3 The `g.xy' tag appears in lists of useful tags maintained by |
| 430 |
third parties. |
| 431 |
|
| 432 |
t+3.5 Vendor B releases a new browser version, which |
| 433 |
a) implements the feature XY |
| 434 |
b) has an entry under `g.xy' in its negotiation database, |
| 435 |
which tells extensible negotiation mechanisms that this |
| 436 |
feature is present |
| 437 |
|
| 438 |
t+3.5 Many content authors start making content representations |
| 439 |
which use XY. |
| 440 |
|
| 441 |
t+4 Vendor C starts implementing XY, and invents the extension |
| 442 |
XY_COLOR. |
| 443 |
|
| 444 |
t+4.5 Vendor C registers the `g.xy_color' feature tag. |
| 445 |
|
| 446 |
t+4.5 Vendor C releases a new browser version, which |
| 447 |
a) implements the features XY and XY_COLOR |
| 448 |
b) has appropriate entries under `g.xy' and `g.xy_color' |
| 449 |
in its database |
| 450 |
|
| 451 |
t+10 90% of all deployed browsers support XY. Content authors |
| 452 |
start using XY it without bothering to provide an alternate |
| 453 |
representation. |
| 454 |
|
| 455 |
|
| 456 |
4.4 Volume considerations |
| 457 |
|
| 458 |
Feature tag registration which will have to keep pace with the |
| 459 |
introduction of new features by vendors. |
| 460 |
|
| 461 |
In particular in the Web domain, vendors are moving fast, and this |
| 462 |
will inevitably lead to a feature tag namespace which contains a |
| 463 |
lot of tags. Also, a lot of tags will be `dead' tags, tags related |
| 464 |
to features which failed to take off and gain widespread use. |
| 465 |
Compare this to the situation in the USENET newsgroup namespace. |
| 466 |
|
| 467 |
Like a list of all MIME media types, a list of all registered |
| 468 |
feature tags will generally be too long to be useful to any content |
| 469 |
author. Third parties could filter the feature tag namespace and |
| 470 |
compile short lists of useful tags. In the Web domain, Web |
| 471 |
indexing robots could, while traversing the web, gather statistics |
| 472 |
about actual use of feature tags; these statistics could help in |
| 473 |
compiling lists. |
| 474 |
|
| 475 |
|
| 476 |
4.5 Danger of excessive registration |
| 477 |
|
| 478 |
One danger for the feature tag namespace is the emergence of |
| 479 |
excessive registration as seen in the internet domain name system |
| 480 |
(DNS) namespace. |
| 481 |
|
| 482 |
We speculate that the various forces which contributed to the DNS |
| 483 |
registration problems are absent for feature tags: feature tags |
| 484 |
will not be very visible to end users, and registration of a |
| 485 |
feature tag does not mean you get exclusive use. |
| 486 |
|
| 487 |
We therefore do not expect excessive registration to occur. We |
| 488 |
note it has not occured (so far) in the MIME media type namespace. |
| 489 |
Of course it is possible to update the registration procedure if |
| 490 |
excessive registration _does_ occur. A necessary precaution is to |
| 491 |
reserve a part of the feature tag namespace for future use. |
| 492 |
|
| 493 |
|
| 494 |
5 Security considerations |
| 495 |
|
| 496 |
When used, negotiation mechanisms usually reveal some information |
| 497 |
about one party to other parties. This may raise privacy concerns, |
| 498 |
and may allow a malicious party to make more educated guesses about |
| 499 |
the presence of security holes in the other party. |
| 500 |
|
| 501 |
|
| 502 |
6 Acknowledgments |
| 503 |
|
| 504 |
The idea of creating a vocabulary of areas of negotiation, which is |
| 505 |
maintained in a central open registry, is due to discussions on |
| 506 |
extensible negotiation mechanisms in the IETF HTTP working group. |
| 507 |
The authors wish to thank Larry Masinter and Graham Klyne for |
| 508 |
contributing to discussions about feature tag registration. |
| 509 |
|
| 510 |
|
| 511 |
7 References |
| 512 |
|
| 513 |
[1] N. Freed, J. Klensin, J. Postel, Multipurpose Internet Mail |
| 514 |
Extensions (MIME) Part Four: Registration Procedures. RFC |
| 515 |
2048, BCP 13, Network Working Group, November 1996 |
| 516 |
|
| 517 |
[2] R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, and |
| 518 |
T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1. RFC |
| 519 |
2068, HTTP Working Group, January, 1997. |
| 520 |
|
| 521 |
[3] K. Holtman, A. Mutz. Transparent Content Negotiation in HTTP. |
| 522 |
Internet-Draft draft-ietf-http-negotiation-03.txt, HTTP Working |
| 523 |
Group. July 1997. |
| 524 |
|
| 525 |
|
| 526 |
8 Authors' addresses |
| 527 |
|
| 528 |
Koen Holtman |
| 529 |
Technische Universiteit Eindhoven |
| 530 |
Postbus 513 |
| 531 |
Kamer HG 6.57 |
| 532 |
5600 MB Eindhoven (The Netherlands) |
| 533 |
Email: koen@win.tue.nl |
| 534 |
|
| 535 |
Andrew H. Mutz |
| 536 |
Hewlett-Packard Company |
| 537 |
1501 Page Mill Road 3U-3 |
| 538 |
Palo Alto CA 94304, USA |
| 539 |
Fax +1 415 857 4691 |
| 540 |
Email: mutz@hpl.hp.com |
| 541 |
|
| 542 |
|
| 543 |
Expires: January 28, 1998 |
| 544 |
|
| 545 |
|