source: draft-ietf-httpbis/10/draft-ietf-httpbis-p7-auth-10.xml @ 956

Last change on this file since 956 was 956, checked in by fielding@…, 9 years ago

forgot to set eol-style

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