source: draft-ietf-httpbis/07/draft-ietf-httpbis-p7-auth-07.xml @ 605

Last change on this file since 605 was 605, checked in by julian.reschke@…, 10 years ago

Prepare release of -07 drafts.

File size: 35.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3    This XML document is the output of clean-for-DTD.xslt; a tool that strips
4    extensions to RFC2629(bis) from documents for processing with xml2rfc.
5-->
6<?xml-stylesheet type='text/xsl' href='../myxml2rfc.xslt'?>
7<?rfc toc="yes" ?>
8<?rfc symrefs="yes" ?>
9<?rfc sortrefs="yes" ?>
10<?rfc compact="yes"?>
11<?rfc subcompact="no" ?>
12<?rfc linkmailto="no" ?>
13<?rfc editing="no" ?>
14<?rfc comments="yes"?>
15<?rfc inline="yes"?>
16<!DOCTYPE rfc
17  PUBLIC "" "rfc2629.dtd">
18<rfc obsoletes="2616" updates="2617" category="std" ipr="pre5378Trust200902" docName="draft-ietf-httpbis-p7-auth-07">
19<front>
20
21  <title abbrev="HTTP/1.1, Part 7">HTTP/1.1, part 7: Authentication</title>
22
23  <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor">
24    <organization abbrev="Day Software">Day Software</organization>
25    <address>
26      <postal>
27        <street>23 Corporate Plaza DR, Suite 280</street>
28        <city>Newport Beach</city>
29        <region>CA</region>
30        <code>92660</code>
31        <country>USA</country>
32      </postal>
33      <phone>+1-949-706-5300</phone>
34      <facsimile>+1-949-706-5305</facsimile>
35      <email>fielding@gbiv.com</email>
36      <uri>http://roy.gbiv.com/</uri>
37    </address>
38  </author>
39
40  <author initials="J." surname="Gettys" fullname="Jim Gettys">
41    <organization>One Laptop per Child</organization>
42    <address>
43      <postal>
44        <street>21 Oak Knoll Road</street>
45        <city>Carlisle</city>
46        <region>MA</region>
47        <code>01741</code>
48        <country>USA</country>
49      </postal>
50      <email>jg@laptop.org</email>
51      <uri>http://www.laptop.org/</uri>
52    </address>
53  </author>
54 
55  <author initials="J." surname="Mogul" fullname="Jeffrey C. Mogul">
56    <organization abbrev="HP">Hewlett-Packard Company</organization>
57    <address>
58      <postal>
59        <street>HP Labs, Large Scale Systems Group</street>
60        <street>1501 Page Mill Road, MS 1177</street>
61        <city>Palo Alto</city>
62        <region>CA</region>
63        <code>94304</code>
64        <country>USA</country>
65      </postal>
66      <email>JeffMogul@acm.org</email>
67    </address>
68  </author>
69
70  <author initials="H." surname="Frystyk" fullname="Henrik Frystyk Nielsen">
71    <organization abbrev="Microsoft">Microsoft Corporation</organization>
72    <address>
73      <postal>
74        <street>1 Microsoft Way</street>
75        <city>Redmond</city>
76        <region>WA</region>
77        <code>98052</code>
78        <country>USA</country>
79      </postal>
80      <email>henrikn@microsoft.com</email>
81    </address>
82  </author>
83
84  <author initials="L." surname="Masinter" fullname="Larry Masinter">
85    <organization abbrev="Adobe Systems">Adobe Systems, Incorporated</organization>
86    <address>
87      <postal>
88        <street>345 Park Ave</street>
89        <city>San Jose</city>
90        <region>CA</region>
91        <code>95110</code>
92        <country>USA</country>
93      </postal>
94      <email>LMM@acm.org</email>
95      <uri>http://larry.masinter.net/</uri>
96    </address>
97  </author>
98 
99  <author initials="P." surname="Leach" fullname="Paul J. Leach">
100    <organization abbrev="Microsoft">Microsoft Corporation</organization>
101    <address>
102      <postal>
103        <street>1 Microsoft Way</street>
104        <city>Redmond</city>
105        <region>WA</region>
106        <code>98052</code>
107      </postal>
108      <email>paulle@microsoft.com</email>
109    </address>
110  </author>
111   
112  <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
113    <organization abbrev="W3C/MIT">World Wide Web Consortium</organization>
114    <address>
115      <postal>
116        <street>MIT Computer Science and Artificial Intelligence Laboratory</street>
117        <street>The Stata Center, Building 32</street>
118        <street>32 Vassar Street</street>
119        <city>Cambridge</city>
120        <region>MA</region>
121        <code>02139</code>
122        <country>USA</country>
123      </postal>
124      <email>timbl@w3.org</email>
125      <uri>http://www.w3.org/People/Berners-Lee/</uri>
126    </address>
127  </author>
128
129  <author initials="Y." surname="Lafon" fullname="Yves Lafon" role="editor">
130    <organization abbrev="W3C">World Wide Web Consortium</organization>
131    <address>
132      <postal>
133        <street>W3C / ERCIM</street>
134        <street>2004, rte des Lucioles</street>
135        <city>Sophia-Antipolis</city>
136        <region>AM</region>
137        <code>06902</code>
138        <country>France</country>
139      </postal>
140      <email>ylafon@w3.org</email>
141      <uri>http://www.raubacapeu.net/people/yves/</uri>
142    </address>
143  </author>
144
145  <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor">
146    <organization abbrev="greenbytes">greenbytes GmbH</organization>
147    <address>
148      <postal>
149        <street>Hafenweg 16</street>
150        <city>Muenster</city><region>NW</region><code>48155</code>
151        <country>Germany</country>
152      </postal>
153      <phone>+49 251 2807760</phone>   
154      <facsimile>+49 251 2807761</facsimile>   
155      <email>julian.reschke@greenbytes.de</email>       
156      <uri>http://greenbytes.de/tech/webdav/</uri>     
157    </address>
158  </author>
159
160  <date day="13" month="July" year="2009"/>
161  <workgroup>HTTPbis Working Group</workgroup>
162
163<abstract>
164<t>
165   The Hypertext Transfer Protocol (HTTP) is an application-level
166   protocol for distributed, collaborative, hypermedia information
167   systems. HTTP has been in use by the World Wide Web global information
168   initiative since 1990. This document is Part 7 of the seven-part specification
169   that defines the protocol referred to as "HTTP/1.1" and, taken together,
170   obsoletes RFC 2616.  Part 7 defines HTTP Authentication.
171</t>
172</abstract>
173
174<note title="Editorial Note (To be removed by RFC Editor)">
175  <t>
176    Discussion of this draft should take place on the HTTPBIS working group
177    mailing list (ietf-http-wg@w3.org). The current issues list is
178    at <eref target="http://tools.ietf.org/wg/httpbis/trac/report/11"/>
179    and related documents (including fancy diffs) can be found at
180    <eref target="http://tools.ietf.org/wg/httpbis/"/>.
181  </t>
182  <t>
183    The changes in this draft are summarized in <xref target="changes.since.06"/>.
184  </t>
185</note>
186</front>
187<middle>
188<section title="Introduction" anchor="introduction">
189<t>
190   This document defines HTTP/1.1 access control and authentication. Right now it
191   includes the extracted relevant sections of
192   RFC 2616 with only minor changes.
193   The intention is to move the general framework for HTTP authentication here,
194   as currently specified in <xref target="RFC2617"/>, and allow the individual
195   authentication mechanisms to be defined elsewhere.  This introduction will
196   be rewritten when that occurs.
197</t>
198<t>
199   HTTP provides several OPTIONAL challenge-response authentication
200   mechanisms which can be used by a server to challenge a client
201   request and by a client to provide authentication information. The
202   general framework for access authentication, and the specification of
203   "basic" and "digest" authentication, are specified in "HTTP
204   Authentication: Basic and Digest Access Authentication" <xref target="RFC2617"/>. This
205   specification adopts the definitions of "challenge" and "credentials"
206   from that specification.
207</t>
208
209<section title="Requirements" anchor="intro.requirements">
210<t>
211   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
212   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
213   document are to be interpreted as described in <xref target="RFC2119"/>.
214</t>
215<t>
216   An implementation is not compliant if it fails to satisfy one or more
217   of the MUST or REQUIRED level requirements for the protocols it
218   implements. An implementation that satisfies all the MUST or REQUIRED
219   level and all the SHOULD level requirements for its protocols is said
220   to be "unconditionally compliant"; one that satisfies all the MUST
221   level requirements but not all the SHOULD level requirements for its
222   protocols is said to be "conditionally compliant."
223</t>
224</section>
225
226<section title="Syntax Notation" anchor="notation">
227 
228 
229 
230 
231 
232 
233 
234<t>
235  This specification uses the ABNF syntax defined in Section 1.2 of <xref target="Part1"/> (which
236  extends the syntax defined in <xref target="RFC5234"/> with a list rule).
237  <xref target="collected.abnf"/> shows the collected ABNF, with the list
238  rule expanded.
239</t>
240<t>
241  The following core rules are included by
242  reference, as defined in <xref target="RFC5234"/>, Appendix B.1:
243  ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),
244  DIGIT (decimal 0-9), DQUOTE (double quote),
245  HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),
246  OCTET (any 8-bit sequence of data), SP (space),
247  VCHAR (any visible USASCII character),
248  and WSP (whitespace).
249</t>
250
251<section title="Core Rules" anchor="core.rules">
252 
253<t>
254  The core rules below are defined in Section 1.2.2 of <xref target="Part1"/>:
255</t>
256<figure><artwork type="abnf2616"><![CDATA[
257  OWS         = <OWS, defined in [Part1], Section 1.2.2>
258]]></artwork></figure>
259</section>
260
261<section title="ABNF Rules defined in other Parts of the Specification" anchor="abnf.dependencies">
262 
263 
264<t>
265 
266  The ABNF rules below are defined in other specifications:
267</t>
268<figure><iref primary="true" item="Grammar" subitem="challenge"/><iref primary="true" item="Grammar" subitem="credentials"/><artwork type="abnf2616"><![CDATA[
269  challenge   = <challenge, defined in [RFC2617], Section 1.2>
270  credentials = <credentials, defined in [RFC2617], Section 1.2>
271]]></artwork></figure>
272</section>
273
274</section>
275
276</section>
277
278
279<section title="Status Code Definitions">
280<section title="401 Unauthorized" anchor="status.401">
281  <iref primary="true" item="401 Unauthorized (status code)"/>
282  <iref primary="true" item="Status Codes" subitem="401 Unauthorized"/>
283<t>
284   The request requires user authentication. The response MUST include a
285   WWW-Authenticate header field (<xref target="header.www-authenticate"/>) containing a challenge
286   applicable to the requested resource. The client MAY repeat the
287   request with a suitable Authorization header field (<xref target="header.authorization"/>). If
288   the request already included Authorization credentials, then the 401
289   response indicates that authorization has been refused for those
290   credentials. If the 401 response contains the same challenge as the
291   prior response, and the user agent has already attempted
292   authentication at least once, then the user SHOULD be presented the
293   entity that was given in the response, since that entity might
294   include relevant diagnostic information. HTTP access authentication
295   is explained in "HTTP Authentication: Basic and Digest Access
296   Authentication" <xref target="RFC2617"/>.
297</t>
298</section>
299<section title="407 Proxy Authentication Required" anchor="status.407">
300  <iref primary="true" item="407 Proxy Authentication Required (status code)"/>
301  <iref primary="true" item="Status Codes" subitem="407 Proxy Authentication Required"/>
302<t>
303   This code is similar to 401 (Unauthorized), but indicates that the
304   client must first authenticate itself with the proxy. The proxy MUST
305   return a Proxy-Authenticate header field (<xref target="header.proxy-authenticate"/>) containing a
306   challenge applicable to the proxy for the requested resource. The
307   client MAY repeat the request with a suitable Proxy-Authorization
308   header field (<xref target="header.proxy-authorization"/>). HTTP access authentication is explained
309   in "HTTP Authentication: Basic and Digest Access Authentication"
310   <xref target="RFC2617"/>.
311</t>
312</section>
313</section>
314
315<section title="Header Field Definitions" anchor="header.fields">
316<t>
317   This section defines the syntax and semantics of HTTP/1.1 header fields
318   related to authentication.
319</t>
320
321<section title="Authorization" anchor="header.authorization">
322  <iref primary="true" item="Authorization header"/>
323  <iref primary="true" item="Headers" subitem="Authorization"/>
324 
325 
326<t>
327      A user agent that wishes to authenticate itself with a server--
328      usually, but not necessarily, after receiving a 401 response--does
329      so by including an Authorization request-header field with the
330      request.  The field "Authorization" consists of credentials
331      containing the authentication information of the user agent for
332      the realm of the resource being requested.
333</t>
334<figure><iref primary="true" item="Grammar" subitem="Authorization"/><iref primary="true" item="Grammar" subitem="Authorization-v"/><artwork type="abnf2616"><![CDATA[
335  Authorization   = "Authorization" ":" OWS Authorization-v
336  Authorization-v = credentials
337]]></artwork></figure>
338<t>
339      HTTP access authentication is described in "HTTP Authentication:
340      Basic and Digest Access Authentication" <xref target="RFC2617"/>. If a request is
341      authenticated and a realm specified, the same credentials SHOULD
342      be valid for all other requests within this realm (assuming that
343      the authentication scheme itself does not require otherwise, such
344      as credentials that vary according to a challenge value or using
345      synchronized clocks).
346</t>
347<t>
348      When a shared cache (see Section 1.2 of <xref target="Part6"/>) receives a request
349      containing an Authorization field, it MUST NOT return the
350      corresponding response as a reply to any other request, unless one
351      of the following specific exceptions holds:
352</t>
353<t>
354  <list style="numbers">
355      <t>If the response includes the "s-maxage" cache-control
356         directive, the cache MAY use that response in replying to a
357         subsequent request. But (if the specified maximum age has
358         passed) a proxy cache MUST first revalidate it with the origin
359         server, using the request-headers from the new request to allow
360         the origin server to authenticate the new request. (This is the
361         defined behavior for s-maxage.) If the response includes "s-maxage=0",
362         the proxy MUST always revalidate it before re-using
363         it.</t>
364
365      <t>If the response includes the "must-revalidate" cache-control
366         directive, the cache MAY use that response in replying to a
367         subsequent request. But if the response is stale, all caches
368         MUST first revalidate it with the origin server, using the
369         request-headers from the new request to allow the origin server
370         to authenticate the new request.</t>
371
372      <t>If the response includes the "public" cache-control directive,
373         it MAY be returned in reply to any subsequent request.</t>
374  </list>
375</t>
376</section>
377
378<section title="Proxy-Authenticate" anchor="header.proxy-authenticate">
379  <iref primary="true" item="Proxy-Authenticate header"/>
380  <iref primary="true" item="Headers" subitem="Proxy-Authenticate"/>
381 
382 
383<t>
384   The response-header field "Proxy-Authenticate" MUST be included as part
385   of a 407 (Proxy Authentication Required) response. The field value
386   consists of a challenge that indicates the authentication scheme and
387   parameters applicable to the proxy for this request-target.
388</t>
389<figure><iref primary="true" item="Grammar" subitem="Proxy-Authenticate"/><iref primary="true" item="Grammar" subitem="Proxy-Authenticate-v"/><artwork type="abnf2616"><![CDATA[
390  Proxy-Authenticate   = "Proxy-Authenticate" ":" OWS
391                         Proxy-Authenticate-v
392  Proxy-Authenticate-v = 1#challenge
393]]></artwork></figure>
394<t>
395   The HTTP access authentication process is described in "HTTP
396   Authentication: Basic and Digest Access Authentication" <xref target="RFC2617"/>. Unlike
397   WWW-Authenticate, the Proxy-Authenticate header field applies only to
398   the current connection and SHOULD NOT  be passed on to downstream
399   clients. However, an intermediate proxy might need to obtain its own
400   credentials by requesting them from the downstream client, which in
401   some circumstances will appear as if the proxy is forwarding the
402   Proxy-Authenticate header field.
403</t>
404</section>
405
406<section title="Proxy-Authorization" anchor="header.proxy-authorization">
407  <iref primary="true" item="Proxy-Authorization header"/>
408  <iref primary="true" item="Headers" subitem="Proxy-Authorization"/>
409 
410 
411<t>
412   The request-header field "Proxy-Authorization" allows the client to
413   identify itself (or its user) to a proxy which requires
414   authentication. The Proxy-Authorization field value consists of
415   credentials containing the authentication information of the user
416   agent for the proxy and/or realm of the resource being requested.
417</t>
418<figure><iref primary="true" item="Grammar" subitem="Proxy-Authorization"/><iref primary="true" item="Grammar" subitem="Proxy-Authorization-v"/><artwork type="abnf2616"><![CDATA[
419  Proxy-Authorization   = "Proxy-Authorization" ":" OWS
420                          Proxy-Authorization-v
421  Proxy-Authorization-v = credentials
422]]></artwork></figure>
423<t>
424   The HTTP access authentication process is described in "HTTP
425   Authentication: Basic and Digest Access Authentication" <xref target="RFC2617"/>. Unlike
426   Authorization, the Proxy-Authorization header field applies only to
427   the next outbound proxy that demanded authentication using the Proxy-Authenticate
428   field. When multiple proxies are used in a chain, the
429   Proxy-Authorization header field is consumed by the first outbound
430   proxy that was expecting to receive credentials. A proxy MAY relay
431   the credentials from the client request to the next proxy if that is
432   the mechanism by which the proxies cooperatively authenticate a given
433   request.
434</t>
435</section>
436
437<section title="WWW-Authenticate" anchor="header.www-authenticate">
438  <iref primary="true" item="WWW-Authenticate header"/>
439  <iref primary="true" item="Headers" subitem="WWW-Authenticate"/>
440 
441 
442<t>
443   The WWW-Authenticate response-header field MUST be included in 401
444   (Unauthorized) response messages. The field value consists of at
445   least one challenge that indicates the authentication scheme(s) and
446   parameters applicable to the request-target.
447</t>
448<figure><iref primary="true" item="Grammar" subitem="WWW-Authenticate"/><iref primary="true" item="Grammar" subitem="WWW-Authenticate-v"/><artwork type="abnf2616"><![CDATA[
449  WWW-Authenticate   = "WWW-Authenticate" ":" OWS WWW-Authenticate-v
450  WWW-Authenticate-v = 1#challenge
451]]></artwork></figure>
452<t>
453   The HTTP access authentication process is described in "HTTP
454   Authentication: Basic and Digest Access Authentication" <xref target="RFC2617"/>. User
455   agents are advised to take special care in parsing the WWW-Authenticate
456   field value as it might contain more than one challenge,
457   or if more than one WWW-Authenticate header field is provided, the
458   contents of a challenge itself can contain a comma-separated list of
459   authentication parameters.
460</t>
461</section>
462
463</section>
464
465<section title="IANA Considerations" anchor="IANA.considerations">
466<section title="Message Header Registration" anchor="message.header.registration">
467<t>
468   The Message Header Registry located at <eref target="http://www.iana.org/assignments/message-headers/message-header-index.html"/> should be updated
469   with the permanent registrations below (see <xref target="RFC3864"/>):
470</t>
471<!--AUTOGENERATED FROM extract-header-defs.xslt, do not edit manually-->
472<texttable align="left" suppress-title="true" anchor="iana.header.registration.table">
473   <ttcol>Header Field Name</ttcol>
474   <ttcol>Protocol</ttcol>
475   <ttcol>Status</ttcol>
476   <ttcol>Reference</ttcol>
477
478   <c>Authorization</c>
479   <c>http</c>
480   <c>standard</c>
481   <c>
482      <xref target="header.authorization"/>
483   </c>
484   <c>Proxy-Authenticate</c>
485   <c>http</c>
486   <c>standard</c>
487   <c>
488      <xref target="header.proxy-authenticate"/>
489   </c>
490   <c>Proxy-Authorization</c>
491   <c>http</c>
492   <c>standard</c>
493   <c>
494      <xref target="header.proxy-authorization"/>
495   </c>
496   <c>WWW-Authenticate</c>
497   <c>http</c>
498   <c>standard</c>
499   <c>
500      <xref target="header.www-authenticate"/>
501   </c>
502</texttable>
503<!--(END)-->
504<t>
505   The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".
506</t>
507</section>
508</section>
509
510<section title="Security Considerations" anchor="security.considerations">
511<t>
512   This section is meant to inform application developers, information
513   providers, and users of the security limitations in HTTP/1.1 as
514   described by this document. The discussion does not include
515   definitive solutions to the problems revealed, though it does make
516   some suggestions for reducing security risks.
517</t>
518
519<section title="Authentication Credentials and Idle Clients" anchor="auth.credentials.and.idle.clients">
520<t>
521   Existing HTTP clients and user agents typically retain authentication
522   information indefinitely. HTTP/1.1 does not provide a method for a
523   server to direct clients to discard these cached credentials. This is
524   a significant defect that requires further extensions to HTTP.
525   Circumstances under which credential caching can interfere with the
526   application's security model include but are not limited to:
527  <list style="symbols">
528     <t>Clients which have been idle for an extended period following
529        which the server might wish to cause the client to reprompt the
530        user for credentials.</t>
531
532     <t>Applications which include a session termination indication
533        (such as a `logout' or `commit' button on a page) after which
534        the server side of the application `knows' that there is no
535        further reason for the client to retain the credentials.</t>
536  </list>
537</t>
538<t>
539   This is currently under separate study. There are a number of work-arounds
540   to parts of this problem, and we encourage the use of
541   password protection in screen savers, idle time-outs, and other
542   methods which mitigate the security problems inherent in this
543   problem. In particular, user agents which cache credentials are
544   encouraged to provide a readily accessible mechanism for discarding
545   cached credentials under user control.
546</t>
547</section>
548</section>
549
550<section title="Acknowledgments" anchor="ack">
551<t>
552  <cref>TBD.</cref>
553</t>
554</section>
555</middle>
556
557<back>
558
559<references title="Normative References">
560
561<reference anchor="Part1">
562  <front>
563    <title abbrev="HTTP/1.1">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</title>
564    <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor">
565      <organization abbrev="Day Software">Day Software</organization>
566      <address><email>fielding@gbiv.com</email></address>
567    </author>
568    <author initials="J." surname="Gettys" fullname="Jim Gettys">
569      <organization>One Laptop per Child</organization>
570      <address><email>jg@laptop.org</email></address>
571    </author>
572    <author initials="J." surname="Mogul" fullname="Jeffrey C. Mogul">
573      <organization abbrev="HP">Hewlett-Packard Company</organization>
574      <address><email>JeffMogul@acm.org</email></address>
575    </author>
576    <author initials="H." surname="Frystyk" fullname="Henrik Frystyk Nielsen">
577      <organization abbrev="Microsoft">Microsoft Corporation</organization>
578      <address><email>henrikn@microsoft.com</email></address>
579    </author>
580    <author initials="L." surname="Masinter" fullname="Larry Masinter">
581      <organization abbrev="Adobe Systems">Adobe Systems, Incorporated</organization>
582      <address><email>LMM@acm.org</email></address>
583    </author>
584    <author initials="P." surname="Leach" fullname="Paul J. Leach">
585      <organization abbrev="Microsoft">Microsoft Corporation</organization>
586      <address><email>paulle@microsoft.com</email></address>
587    </author>
588    <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
589      <organization abbrev="W3C/MIT">World Wide Web Consortium</organization>
590      <address><email>timbl@w3.org</email></address>
591    </author>
592    <author initials="Y." surname="Lafon" fullname="Yves Lafon" role="editor">
593      <organization abbrev="W3C">World Wide Web Consortium</organization>
594      <address><email>ylafon@w3.org</email></address>
595    </author>
596    <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor">
597      <organization abbrev="greenbytes">greenbytes GmbH</organization>
598      <address><email>julian.reschke@greenbytes.de</email></address>
599    </author>
600    <date month="July" year="2009"/>
601  </front>
602  <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p1-messaging-07"/>
603 
604</reference>
605
606<reference anchor="Part6">
607  <front>
608    <title abbrev="HTTP/1.1">HTTP/1.1, part 6: Caching</title>
609    <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor">
610      <organization abbrev="Day Software">Day Software</organization>
611      <address><email>fielding@gbiv.com</email></address>
612    </author>
613    <author initials="J." surname="Gettys" fullname="Jim Gettys">
614      <organization>One Laptop per Child</organization>
615      <address><email>jg@laptop.org</email></address>
616    </author>
617    <author initials="J." surname="Mogul" fullname="Jeffrey C. Mogul">
618      <organization abbrev="HP">Hewlett-Packard Company</organization>
619      <address><email>JeffMogul@acm.org</email></address>
620    </author>
621    <author initials="H." surname="Frystyk" fullname="Henrik Frystyk Nielsen">
622      <organization abbrev="Microsoft">Microsoft Corporation</organization>
623      <address><email>henrikn@microsoft.com</email></address>
624    </author>
625    <author initials="L." surname="Masinter" fullname="Larry Masinter">
626      <organization abbrev="Adobe Systems">Adobe Systems, Incorporated</organization>
627      <address><email>LMM@acm.org</email></address>
628    </author>
629    <author initials="P." surname="Leach" fullname="Paul J. Leach">
630      <organization abbrev="Microsoft">Microsoft Corporation</organization>
631      <address><email>paulle@microsoft.com</email></address>
632    </author>
633    <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
634      <organization abbrev="W3C/MIT">World Wide Web Consortium</organization>
635      <address><email>timbl@w3.org</email></address>
636    </author>
637    <author initials="Y." surname="Lafon" fullname="Yves Lafon" role="editor">
638      <organization abbrev="W3C">World Wide Web Consortium</organization>
639      <address><email>ylafon@w3.org</email></address>
640    </author>
641    <author initials="M." surname="Nottingham" fullname="Mark Nottingham" role="editor">
642      <organization/>
643      <address><email>mnot@mnot.net</email></address>
644    </author>
645    <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor">
646      <organization abbrev="greenbytes">greenbytes GmbH</organization>
647      <address><email>julian.reschke@greenbytes.de</email></address>
648    </author>
649    <date month="July" year="2009"/>
650  </front>
651  <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p6-cache-07"/>
652 
653</reference>
654
655<reference anchor="RFC2119">
656  <front>
657    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
658    <author initials="S." surname="Bradner" fullname="Scott Bradner">
659      <organization>Harvard University</organization>
660      <address><email>sob@harvard.edu</email></address>
661    </author>
662    <date month="March" year="1997"/>
663  </front>
664  <seriesInfo name="BCP" value="14"/>
665  <seriesInfo name="RFC" value="2119"/>
666</reference>
667
668<reference anchor="RFC2617">
669  <front>
670    <title abbrev="HTTP Authentication">HTTP Authentication: Basic and Digest Access Authentication</title>
671    <author initials="J." surname="Franks" fullname="John Franks">
672      <organization>Northwestern University, Department of Mathematics</organization>
673      <address><email>john@math.nwu.edu</email></address>
674    </author>
675    <author initials="P.M." surname="Hallam-Baker" fullname="Phillip M. Hallam-Baker">
676      <organization>Verisign Inc.</organization>
677      <address><email>pbaker@verisign.com</email></address>
678    </author>
679    <author initials="J.L." surname="Hostetler" fullname="Jeffery L. Hostetler">
680      <organization>AbiSource, Inc.</organization>
681      <address><email>jeff@AbiSource.com</email></address>
682    </author>
683    <author initials="S.D." surname="Lawrence" fullname="Scott D. Lawrence">
684      <organization>Agranat Systems, Inc.</organization>
685      <address><email>lawrence@agranat.com</email></address>
686    </author>
687    <author initials="P.J." surname="Leach" fullname="Paul J. Leach">
688      <organization>Microsoft Corporation</organization>
689      <address><email>paulle@microsoft.com</email></address>
690    </author>
691    <author initials="A." surname="Luotonen" fullname="Ari Luotonen">
692      <organization>Netscape Communications Corporation</organization>
693    </author>
694    <author initials="L." surname="Stewart" fullname="Lawrence C. Stewart">
695      <organization>Open Market, Inc.</organization>
696      <address><email>stewart@OpenMarket.com</email></address>
697    </author>
698    <date month="June" year="1999"/>
699  </front>
700  <seriesInfo name="RFC" value="2617"/>
701</reference>
702
703<reference anchor="RFC5234">
704  <front>
705    <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title>
706    <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor">
707      <organization>Brandenburg InternetWorking</organization>
708      <address>
709      <postal>
710      <street>675 Spruce Dr.</street>
711      <city>Sunnyvale</city>
712      <region>CA</region>
713      <code>94086</code>
714      <country>US</country></postal>
715      <phone>+1.408.246.8253</phone>
716      <email>dcrocker@bbiw.net</email></address> 
717    </author>
718    <author initials="P." surname="Overell" fullname="Paul Overell">
719      <organization>THUS plc.</organization>
720      <address>
721      <postal>
722      <street>1/2 Berkeley Square</street>
723      <street>99 Berkely Street</street>
724      <city>Glasgow</city>
725      <code>G3 7HR</code>
726      <country>UK</country></postal>
727      <email>paul.overell@thus.net</email></address>
728    </author>
729    <date month="January" year="2008"/>
730  </front>
731  <seriesInfo name="STD" value="68"/>
732  <seriesInfo name="RFC" value="5234"/>
733</reference>
734
735</references>
736
737<references title="Informative References">
738
739<reference anchor="RFC2616">
740  <front>
741    <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
742    <author initials="R." surname="Fielding" fullname="R. Fielding">
743      <organization>University of California, Irvine</organization>
744      <address><email>fielding@ics.uci.edu</email></address>
745    </author>
746    <author initials="J." surname="Gettys" fullname="J. Gettys">
747      <organization>W3C</organization>
748      <address><email>jg@w3.org</email></address>
749    </author>
750    <author initials="J." surname="Mogul" fullname="J. Mogul">
751      <organization>Compaq Computer Corporation</organization>
752      <address><email>mogul@wrl.dec.com</email></address>
753    </author>
754    <author initials="H." surname="Frystyk" fullname="H. Frystyk">
755      <organization>MIT Laboratory for Computer Science</organization>
756      <address><email>frystyk@w3.org</email></address>
757    </author>
758    <author initials="L." surname="Masinter" fullname="L. Masinter">
759      <organization>Xerox Corporation</organization>
760      <address><email>masinter@parc.xerox.com</email></address>
761    </author>
762    <author initials="P." surname="Leach" fullname="P. Leach">
763      <organization>Microsoft Corporation</organization>
764      <address><email>paulle@microsoft.com</email></address>
765    </author>
766    <author initials="T." surname="Berners-Lee" fullname="T. Berners-Lee">
767      <organization>W3C</organization>
768      <address><email>timbl@w3.org</email></address>
769    </author>
770    <date month="June" year="1999"/>
771  </front>
772  <seriesInfo name="RFC" value="2616"/>
773</reference>
774
775<reference anchor="RFC3864">
776  <front>
777    <title>Registration Procedures for Message Header Fields</title>
778    <author initials="G." surname="Klyne" fullname="G. Klyne">
779      <organization>Nine by Nine</organization>
780      <address><email>GK-IETF@ninebynine.org</email></address>
781    </author>
782    <author initials="M." surname="Nottingham" fullname="M. Nottingham">
783      <organization>BEA Systems</organization>
784      <address><email>mnot@pobox.com</email></address>
785    </author>
786    <author initials="J." surname="Mogul" fullname="J. Mogul">
787      <organization>HP Labs</organization>
788      <address><email>JeffMogul@acm.org</email></address>
789    </author>
790    <date year="2004" month="September"/>
791  </front>
792  <seriesInfo name="BCP" value="90"/>
793  <seriesInfo name="RFC" value="3864"/>
794</reference>
795
796</references>
797
798
799<section title="Compatibility with Previous Versions" anchor="compatibility">
800
801<section title="Changes from RFC 2616" anchor="changes.from.rfc.2616">
802</section>
803
804</section>
805
806<section title="Collected ABNF" anchor="collected.abnf">
807<figure>
808<artwork type="abnf" name="p7-auth.parsed-abnf"><![CDATA[
809Authorization = "Authorization:" OWS Authorization-v
810Authorization-v = credentials
811
812OWS = <OWS, defined in [Part1], Section 1.2.2>
813
814Proxy-Authenticate = "Proxy-Authenticate:" OWS Proxy-Authenticate-v
815Proxy-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS
816 challenge ] )
817Proxy-Authorization = "Proxy-Authorization:" OWS
818 Proxy-Authorization-v
819Proxy-Authorization-v = credentials
820
821WWW-Authenticate = "WWW-Authenticate:" OWS WWW-Authenticate-v
822WWW-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS
823 challenge ] )
824
825challenge = <challenge, defined in [RFC2617], Section 1.2>
826credentials = <credentials, defined in [RFC2617], Section 1.2>
827
828
829]]></artwork>
830</figure>
831<figure><preamble>ABNF diagnostics:</preamble><artwork type="inline"><![CDATA[
832; Authorization defined but not used
833; Proxy-Authenticate defined but not used
834; Proxy-Authorization defined but not used
835; WWW-Authenticate defined but not used
836]]></artwork></figure></section>
837
838<section title="Change Log (to be removed by RFC Editor before publication)" anchor="change.log">
839
840<section title="Since RFC2616">
841<t>
842  Extracted relevant partitions from <xref target="RFC2616"/>.
843</t>
844</section>
845
846<section title="Since draft-ietf-httpbis-p7-auth-00">
847<t>
848  Closed issues:
849  <list style="symbols"> 
850    <t>
851      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/35"/>:
852      "Normative and Informative references"
853    </t>
854  </list>
855</t>
856</section>
857
858<section title="Since draft-ietf-httpbis-p7-auth-01">
859<t>
860  Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>):
861  <list style="symbols"> 
862    <t>
863      Explicitly import BNF rules for "challenge" and "credentials" from RFC2617.
864    </t>
865    <t>
866      Add explicit references to BNF syntax and rules imported from other parts of the specification.
867    </t>
868  </list>
869</t>
870</section>
871
872<section title="Since draft-ietf-httpbis-p7-auth-02" anchor="changes.since.02">
873<t>
874  Ongoing work on IANA Message Header Registration (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/40"/>):
875  <list style="symbols"> 
876    <t>
877      Reference RFC 3984, and update header registrations for headers defined
878      in this document.
879    </t>
880  </list>
881</t>
882</section>
883
884<section title="Since draft-ietf-httpbis-p7-auth-03" anchor="changes.since.03">
885<t>
886</t>
887</section>
888
889<section title="Since draft-ietf-httpbis-p7-auth-04" anchor="changes.since.04">
890<t>
891  Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>):
892  <list style="symbols"> 
893    <t>
894      Use "/" instead of "|" for alternatives.
895    </t>
896    <t>
897      Introduce new ABNF rules for "bad" whitespace ("BWS"), optional
898      whitespace ("OWS") and required whitespace ("RWS").
899    </t>
900    <t>
901      Rewrite ABNFs to spell out whitespace rules, factor out
902      header value format definitions.
903    </t>
904  </list>
905</t>
906</section>
907
908<section title="Since draft-ietf-httpbis-p7-auth-05" anchor="changes.since.05">
909<t>
910  Final work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>):
911  <list style="symbols"> 
912    <t>
913      Add appendix containing collected and expanded ABNF, reorganize ABNF introduction.
914    </t>
915  </list>
916</t>
917</section>
918
919<section title="Since draft-ietf-httpbis-p7-auth-06" anchor="changes.since.06">
920<t>
921  None.
922</t>
923</section>
924
925</section>
926
927</back>
928</rfc>
Note: See TracBrowser for help on using the repository browser.