<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc-ext parse-xml-in-artwork="yes"?>
<?rfc-ext allow-markup-in-artwork="yes"?>
<?rfc-ext authors-section="end" ?>
<?rfc-ext sec-no-trailing-dots="yes" ?>

<rfc xmlns:x='http://purl.org/net/xml2rfc/ext' xmlns:ed="http://greenbytes.de/2002/rfcedit" ipr="full3667" docName="draft-ietf-webdav-redirectref-protocol-11" category="std" ed:entered-by="julian.reschke@greenbytes.de">
  <x:link rel="up" href="http://greenbytes.de/tech/webdav/#draft-ietf-webdav-redirectref-protocol"/>
  <x:link rel="next" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-12.html"/>
  <x:link rel="prev" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-10.html"/>
  <x:link rel="last" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-latest.html"/>
  <x:link rel="Bookmark" title="IETF WEBDAV Working Group" href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>
  <x:link rel="Alternate" title="(latest)" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-latest.html"/>
  <x:link rel="Alternate" title="draft 13" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-13.html"/>
  <x:link rel="Alternate" title="draft 12" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-12.html"/>
  <x:link rel="Alternate" title="draft 11" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-11.html"/>
  <x:link rel="Alternate" title="draft 10" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-10.html"/>
  <x:link rel="Alternate" title="draft 09" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-09.html"/>
  <x:link rel="Alternate" title="draft 08" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-08.html"/>
  <x:link rel="Alternate" title="draft 07" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-07.html"/>
  <x:link rel="Alternate" title="draft 06" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-06.html"/>
  <x:link rel="Alternate" title="draft 05" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-05.html"/>
  <x:link rel="Alternate" title="draft 04" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-04.html"/>
  <x:link rel="Alternate" title="draft 03" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-03.html"/>
  <x:link rel="Alternate" title="draft 02 (expired 1999 draft)" href="http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-02.html"/>
  <front>
    <title abbrev="WebDAV Redirect Reference Resources">Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources</title>
    <author initials="J." surname="Whitehead" fullname="Jim Whitehead">
      <organization abbrev="U.C. Santa Cruz">UC Santa Cruz, Dept. of Computer Science</organization>
      <address>
        <postal>
          <street>1156 High Street</street>
          <city>Santa Cruz</city>
          <region>CA</region>
          <code>95064</code>
          <country>US</country>
        </postal>
        <email>ejw@cse.ucsc.edu</email>
      </address>
    </author>
    <author initials="G." surname="Clemm" fullname="Geoff Clemm">
      <organization>IBM</organization>
      <address>
        <postal>
          <street>20 Maguire Road</street>
          <city>Lexington</city><region>MA</region><code>02421</code>
          <country>US</country>
        </postal>
        <email>geoffrey.clemm@us.ibm.com</email>
      </address>
    </author>
    <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor">
      <organization abbrev="greenbytes">greenbytes GmbH</organization>
      <address>
        <postal>
          <street>Salzmannstrasse 152</street>
          <city>Muenster</city><region>NW</region><code>48159</code>
          <country>Germany</country>
        </postal>
        <phone>+49 251 2807760</phone>
        <facsimile>+49 251 2807761</facsimile>
       <email>julian.reschke@greenbytes.de</email>
        <uri>http://greenbytes.de/tech/webdav/</uri>
      </address>
    </author>

    <date month="February" year="2005" day="9"/>
    <workgroup>WEBDAV Working Group</workgroup>

    <abstract>
    
<ed:issue xmlns='http://www.w3.org/1999/xhtml' name="edit" type="edit" status="open">
  <ed:item entered-by="julian.reschke@greenbytes.de" date="2004-10-03">
    Umbrella issue for editorial changes.
  </ed:item>
</ed:issue>

<ed:issue xmlns='http://www.w3.org/1999/xhtml' name="abnf" type="change" status="closed">
  <ed:item entered-by="julian.reschke@greenbytes.de" date="2005-02-09">
    Use ABNF syntax from RFC2234.
  </ed:item>
  <ed:resolution datetime="2005-02-09">
    Done.
  </ed:resolution>
</ed:issue>

<ed:issue xmlns='http://www.w3.org/1999/xhtml' name="rfc2396bis" type="change" status="closed">
  <ed:item entered-by="julian.reschke@greenbytes.de" date="2004-10-22">
    Update to RFC2396bis (this needs to be done carefully because we are
    using the term "relative URI reference" which does not exist in RFC2396bis
    anymore).
  </ed:item>
  <ed:resolution datetime="2005-01-25">
    Agreed (draft-rfc2396bis has been published as RFC3986).
  </ed:resolution>   
</ed:issue>

<ed:issue xmlns='http://www.w3.org/1999/xhtml' name="old_clients" type="change" status="open" href="http://lists.w3.org/Archives/Public/w3c-dist-auth/2003OctDec/0180.html">
  <ed:item date="2003-11-10" entered-by="julian.reschke@greenbytes.de">
    There are (at least) two major design goals, but unfortunately both are 
    in direct contradiction:
    <br/>    
    #1: Maximum consistency with HTTP/1.1 (RFC2616). This means that any 
    request that addresses a redirect reference resource MUST result in a 
    3xx status code (obviously the whole point is that GET MUST result in a 
    redirection, and if it does, it's hard to say why other methods such as 
    PUT or DELETE should behave differently). Therefore, the redirect 
    reference protocol introduces a new request header 
    ("Apply-To-Redirect-Ref") through which a client can indicate that the 
    request indeed should be applied to the redirect reference resource itself.
    <br/>    
    #2: Maximum usability with existing clients. For instance, the Microsoft 
    Webfolder client will not be able to DELETE a redirect reference 
    resource unless the server deviates from #1.
    <br/>    
    Right now I'm not sure about the best way to resolve this. Currently the 
    spec chooses #1 (back when this decision was made, there was probably 
    the assumption that existing clients would quickly be updated -- 
    something that probably isn't true today).
    <br/>    
    However this may result in implementers either just ignoring these 
    rules, or adding special workarounds based on "User Agent" detection.
  </ed:item>
</ed:issue>

<t>
  This specification defines redirect reference resources.  A 
  redirect reference resource is a resource whose default response is an 
  HTTP/1.1 3xx (Redirection) status code (see RFC2616, Section 10.3), redirecting the client to a different 
  resource, the target resource.  A redirect reference makes it possible 
  to access the target resource indirectly, through any URI mapped to the 
  redirect reference resource.  There are no integrity guarantees 
  associated with redirect reference resources.
</t>
</abstract>

<note title="Editorial Note (To be removed by RFC Editor before publication)">
  <t>
    Distribution of this document is unlimited.  Please send comments to the 
    Distributed Authoring and Versioning (WebDAV) working group at <eref target="mailto:w3c-dist-auth@w3.org"/>, which may be joined by sending a message with subject 
    "subscribe" to <eref target="mailto:w3c-dist-auth-request@w3.org"/>.
    Discussions of the WEBDAV working group are archived at 
    <eref target="http://lists.w3.org/Archives/Public/w3c-dist-auth/"/>.
  </t>
  <t>
    An issues list and XML and HTML versions of this draft are available from
    <eref target="http://greenbytes.de/tech/webdav/#draft-ietf-webdav-redirectref-protocol"/>.
  </t>
</note>

</front>

	<middle>


<section title="Introduction">
<t>
  This specification extends the Web Distributed Authoring Protocol (WebDAV) 
  to enable clients to create new access paths to existing resources.  This
  capability is useful for several reasons:
</t>
<t>
  WebDAV makes it possible to organize HTTP resources into 
  hierarchies, placing them into groupings, known as collections, which 
  are more easily browsed and manipulated than a single flat collection.  However,
  hierarchies require categorization decisions that locate 
  resources at a single location in the hierarchy, a drawback when a 
  resource has multiple valid categories.  For example, in a hierarchy of 
  vehicle descriptions containing collections for cars and boats, a 
  description of a combination car/boat vehicle could belong in either 
  collection.  Ideally, the description should be accessible from both. 
  Allowing clients to create new URIs that access the existing resource 
  lets them put that resource into multiple collections.
</t>
<t>
  Hierarchies also make resource sharing more difficult, since resources 
  that have utility across many collections are still forced into a single 
  collection.  For example, the mathematics department at one university 
  might create a collection of information on fractals that contains 
  bindings to some local resources, but also provides access to some 
  resources at other universities.  For many reasons, it may be 
  undesirable to make physical copies of the shared resources: to conserve disk space, to respect copyright constraints, or to 
  make any changes in the shared resources visible automatically.  Being 
  able to create new access paths to existing resources in other 
  collections or even on other unrelated systems is useful for this sort of case.
</t>
<t>
  The redirect reference resources defined here provide a mechanism for 
  creating alternative access paths to existing resources.  A redirect 
  reference resource is a resource in one collection whose purpose is to 
  redirect requests to another resource (its target), possibly in a 
  different collection.  In this way, it allows clients to submit requests 
  to the target resource from another collection.  It redirects most 
  requests to the target resource using a HTTP status code from the 3xx range (Redirection), 
  thereby providing a form of mediated access to the target resource.
</t>
<t>
  A redirect reference is a resource with properties but no body of its own.  Properties
  of a redirect reference resource can contain such information as who created
  the reference, when, and why.  Since redirect reference resources are
  implemented using HTTP 3xx responses, it generally takes two round trips to
  submit a request to the intended resource.  Redirect references work equally well for local 
  resources and for resources that reside on a different system from the 
  reference.
</t>
<t>
  The remainder of this document is structured as follows: <xref target="terminology"/>
  defines terms that will be used throughout the specification.  <xref target="overview"/>
  provides an overview of redirect reference resources.    <xref target="operations.on.redirect.reference.resources"/>
  defines the semantics of existing methods when applied to redirect 
  reference resources.  <xref target="METHOD_MKREDIRECTREF"/>
  discusses how to create a redirect reference resource, and <xref target="METHOD_UPDATEREDIRECTREF"/> 
  discusses updating redirect references.  <xref target="operations.on.collections.that.contain.redirect.reference.resources"/> discusses their semantics when 
  applied to collections that contain redirect reference resources.   
  Sections <xref target="operations.on.targets.of.redirect.reference.resources" format="counter"/>
  through <xref target="redirect.references.to.collections" format="counter"/> discuss several other issues raised by the 
  existence of redirect reference resources.  Sections <xref target="headers" format="counter"/> through
  <xref target="extensions.to.response.element" format="counter"/> 
  define the new headers, properties, and XML elements required to support 
  redirect reference resources.  Section <xref target="capability.discovery" format="counter"/> discusses capability 
  discovery.  Sections <xref target="security.considerations" format="counter"/>
  through <xref target="iana.considerations" format="counter"/> present the security, 
  internationalization, and IANA concerns raised by this specification.  
  The remaining sections provide a variety of supporting information.
</t>
</section>
    

<section title="Notational Conventions">
<ed:replace ed:resolves="abnf"><ed:del>
<t>
  Since this document describes a set of extensions to the WebDAV 
  Distributed Authoring Protocol <xref target="RFC2518"/>, itself an extension to the 
  HTTP/1.1 protocol, the augmented BNF used here to describe protocol 
  elements is exactly the same as described in Section 2.1 of
  <xref target="RFC2616"/>.  Since this augmented BNF uses the basic production rules provided in 
  Section 2.2 of <xref target="RFC2616"/>, these rules apply to this document as well.
</t>
</ed:del></ed:replace>
<t>
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
  document are to be interpreted as described in <xref target="RFC2119"/>.
</t>
<ed:replace ed:resolves="abnf" datetime="2005-02-06"><ed:ins>
<t>
  This specification uses the Augmented Backus-Naur Form (ABNF) notation of <xref target="RFC2234"/>.
</t>
</ed:ins></ed:replace>
</section>



<section title="Terminology" anchor="terminology">
<t>
  The terminology used here follows and extends that in the WebDAV 
  Distributed Authoring Protocol specification <xref target="RFC2518"/>.  Definitions of 
  the terms resource, Uniform Resource Identifier (URI), and Uniform 
  Resource Locator (URL) are provided in <ed:replace ed:resolves="rfc2396bis" datetime="2005-01-25"><ed:del><xref target="RFC2396"/></ed:del>
  <ed:ins><xref target="RFC3986"/></ed:ins></ed:replace>.
</t>

<t>Redirect Reference Resource<iref item="Rediret Reference Resource"/>
  <list><t>
    A resource created to redirect all requests made to it, using 
    an HTTP status code from the 3xx range, to a defined target resource.
  </t></list>
</t>
<t>Non-Reference Resource<iref item="Non-Reference Resource"/>
  <list><t>
   A resource that is not a reference to another resource.</t>
  </list></t>
<t>Target Resource<iref item="Target Resource"/>
  <list><t>
   The resource to which requests are 
   redirected by a redirect reference 
   resource.  A target resource can be anything that can be identified by an absolute URI
   (see <ed:replace ed:resolves="rfc2396bis" datetime="2005-01-25"><ed:del><xref target="RFC2396"/>, "absoluteURI"</ed:del>
   <ed:ins><xref target="RFC3986"/>, "absolute-URI"</ed:ins></ed:replace>).
   </t>
  </list>
</t>
<t>
  This document uses the terms "precondition",  "postcondition" and "protected property" as defined in
  <xref target="RFC3253"/>.  Servers MUST report pre-/postcondition failures
  as described in section 1.6 of this document.
</t>

</section>

<section title="Overview of Redirect Reference Resources" anchor="overview">
<t>
  For all operations submitted to a redirect reference resource, the 
  default response is a 302 (Found), accompanied by the Redirect-Ref 
  header (defined in <xref target="header.redirect-ref"/> below) and the Location header set to 
  the URI of the target resource.  With this information, the client can 
  resubmit the request to the URI of the target resource.
</t>
<t>
  A redirect reference resource never automatically forwards requests to 
  its target resource.  Redirect resources bring the same benefits as links
  in HTML documents.  They can be created and maintained without the
  involvement or even knowledge of their target resource. <ed:ins ed:resolves="edit"> </ed:ins>This reduces the
  cost of linking between resources.
</t>
<t>
  If the client is aware that it is operating on a redirect reference 
  resource, it can resolve the reference by retrieving the reference 
  resource's DAV:reftarget property (defined in <xref target="reftarget.property"/> below), whose 
  value contains the URI of the target resource.  It can then submit 
  requests to the target resource. 
</t>
<t>
  A redirect reference resource is a new type of resource.  To distinguish 
  redirect reference resources from non-reference resources, a new value 
  of the DAV:resourcetype property (defined in <xref target="RFC2518"/>), DAV:redirectref, 
  is defined in <xref target="redirectref.xml.element"/> below.
</t>
<t>
  Since a redirect reference resource is a resource, methods can be applied to the reference 
  resource as well as to its target resource.  The Apply-To-Redirect-Ref 
  request header (defined in <xref target="header.apply-to-redirect-ref"/> below) is provided so that 
  referencing-aware clients can control whether an operation is applied to 
  the redirect reference resource or 
  standard HTTP/WebDAV behaviour (redirection with a 3xx status code)
  should occur.  The Apply-To-Redirect-Ref
  header can be used with most requests to redirect 
  reference resources.  This header is particularly useful with PROPFIND, 
  to retrieve the reference resource's own properties.
</t>
<t>
  Implementation Note: Operations on the target of a redirect reference
  usually do not affect the redirect reference itself.  However, clients 
  should not rely on this behaviour (for instance, some servers may
  update redirect references as a result of namespace operations on the
  reference's target).
</t>
</section>

<section title="Operations on Redirect Reference Resources" anchor="operations.on.redirect.reference.resources">
<t>
  Although non-referencing-aware clients cannot create reference 
  resources, they should be able to submit requests through the reference 
  resources created by reference-aware WebDAV clients.  They should be 
  able to follow any references to their targets.  To make this possible, 
  a server that receives any request made via a redirect reference 
  resource MUST return a 3xx range (Redirection) status code, unless the request 
  includes an Apply-To-Redirect-Ref header specifying "T".  The client and server MUST 
  follow <xref target="RFC2616"/> Section 10.3, but with these additional 
  rules: 
</t>
<t>
<list style="symbols">
<t>
  The Location response header MUST contain an absolute URI that 
  identifies the target of the reference resource.
</t>
<t>
  The response MUST include the Redirect-Ref header.  This header 
  allows reference-aware WebDAV clients to recognize the resource as a 
  reference resource and understand the reason for the redirection.
</t>
</list>
</t>
<t>
  A reference-aware WebDAV client can, like a non-referencing client, resubmit the request to 
  the URI in the Location header in order to operate on the target 
  resource.  Alternatively, it can resubmit the request to the URI of the 
  redirect reference resource with the "Apply-To-Redirect-Ref: T" header in 
  order to operate on the reference resource itself.  In this case, the request MUST be applied to the 
  reference resource itself, and a 3xx response MUST NOT be returned.
</t>
<t>
  As redirect references do not have bodies, GET and PUT requests with
  "Apply-To-Redirect-Ref: T" MUST fail with status 403 (forbidden).
</t>
</section>


<section title="MKREDIRECTREF Method" anchor="METHOD_MKREDIRECTREF">
<iref item="MKREDIRECTREF method" primary="true"/>
<iref item="Methods" subitem="MKREDIRECTREF" primary="true"/>
<t>
  The MKREDIRECTREF method requests the creation of a redirect reference resource. 
</t>
<t>
  If a MKREDIRECTREF request fails, the server state preceding the request MUST be restored. 
</t>
<t>
  Responses from a MKREDIRECTREF request MUST NOT be cached, as MKREDIRECTREF
  has non-idempotent and non-safe semantics 
  (see <xref target="RFC2616"/>, section 9.1).  
</t>
<t>
  Marshalling:
  <list>
    <t>The request body MUST be a DAV:mkredirectref XML element.
      <figure><artwork>
   &lt;!ELEMENT mkredirectref (reftarget, redirect-lifetime?)&gt;
   &lt;!ELEMENT reftarget (href)&gt;
   &lt;!ELEMENT redirect-lifetime (permanent | temporary)&gt;
   &lt;!ELEMENT permanent EMPTY&gt;
   &lt;!ELEMENT temporary EMPTY&gt;</artwork></figure>
    </t>
    <t>
      The DAV:href element is defined in <xref target="RFC2518"/> (Section 12.3)
      and MUST contain either an <ed:replace ed:resolves="rfc2396bis" datetime="2005-01-25"><ed:del>absoluteURI or a relativeURI
      (see <xref target="RFC2396"/>, Section 3 and 5</ed:del>
      <ed:ins>absolute-URI or a relative-ref (without fragment), see
      <xref target="RFC3986"/>, Sections 4.2 and 4.3</ed:ins></ed:replace>). 
    </t>
    <t>
      If no DAV:redirect-lifetime element is specified, the server MUST behave
      as if a value of DAV:temporary was specified.
    </t>
    <t> 
      If the request succeeds, the server MUST return 201 (Created) status.
    </t>
    <t>
      If a response body for a successful request is included, it MUST be a
      DAV:mkredirectref-response XML element.  Note that this document does not define
      any elements for the MKREDIRECTREF response body, but the DAV:mkredirectref-response
      element is defined to ensure interoperability between future extensions
      that do define elements for the response body.
      <figure><artwork>
   &lt;!ELEMENT mkredirectref-response ANY&gt;</artwork></figure>
    </t>
  </list>
</t>
<t>
  Preconditions:
  <list>
    <t>
      <iref item="Condition Names" subitem="DAV:resource-must-be-null (pre)" primary="true"/>
      <iref item="DAV:resource-must-be-null precondition" primary="true"/>
      (DAV:resource-must-be-null): A resource MUST NOT exist at the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URL</ed:del><ed:ins>Request-URI</ed:ins></ed:replace>. 
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:parent-resource-must-be-non-null (pre)" primary="true"/>
      <iref item="DAV:parent-resource-must-be-non-null precondition" primary="true"/>
      (DAV:parent-resource-must-be-non-null): The <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URL</ed:del><ed:ins>Request-URI</ed:ins></ed:replace> minus the last
      past segment MUST identify a collection.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:name-allowed (pre)" primary="true"/>
      <iref item="DAV:name-allowed precondition" primary="true"/>
      (DAV:name-allowed): The last segment of the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request URL</ed:del><ed:ins>Request-URI</ed:ins></ed:replace> is available for
      use as a resource name.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:locked-update-allowed (pre)" primary="true"/>
      <iref item="DAV:locked-update-allowed precondition" primary="true"/>
      (DAV:locked-update-allowed): If the collection identified by the
      <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>Request-URL</ed:del><ed:ins>Request-URI</ed:ins></ed:replace> minus the last path segment is write-locked, then the appropriate
      token MUST be specified in an If request header.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:redirect-lifetime-supported (pre)" primary="true"/>
      <iref item="DAV:redirect-lifetime-supported precondition" primary="true"/>
      (DAV:redirect-lifetime-supported): If the request body contains a DAV:redirect-lifetime
      element, the server MUST support the specified lifetime.  Support for DAV:temporary is REQUIRED, while
      support for DAV:permanent is OPTIONAL.
    </t>
  </list>
</t>
<t>
  Postconditions:
  <list>
    <t>
      <iref item="Condition Names" subitem="DAV:new-redirectref (post)" primary="true"/>
      <iref item="DAV:new-redirectref postcondition" primary="true"/>
      (DAV:new-redirectref): a new redirect reference resource is created
      whose DAV:reftarget property has the value specified in the request body.
    </t>
  </list>
</t>

<section title="Example: Creating a Redirect Reference Resource with MKREDIRECTREF">
<figure><preamble>
&gt;&gt; Request:</preamble>
<artwork>
MKREDIRECTREF /~whitehead/dav/spec08.ref HTTP/1.1
Host: www.example.com
Content-Type: text/xml; charset="utf-8"
Content-Length: xxx

&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;D:mkredirectref xmlns:D="DAV:"&gt;
  &lt;D:reftarget&gt;
    &lt;D:href&gt;/i-d/draft-webdav-protocol-08.txt&lt;/D:href&gt;
  &lt;/D:reftarget&gt;
&lt;/D:mkredirectref&gt;
</artwork>
</figure>

<figure><preamble>
&gt;&gt; Response:</preamble>
<artwork>
HTTP/1.1 201 Created
</artwork>
</figure>
<t>
  This request resulted in the creation of a new redirect reference 
  resource at 
  http://www.example.com/~whitehead/dav/spec08.ref, which points to 
  the resource identified by the DAV:reftarget property.  In this example, 
  the target resource is identified by the URI
  http://www.example.com/i-d/draft-webdav-protocol-08.txt.  The redirect
  reference resource's DAV:resourcetype property is set to DAV:redirectref
  and it's DAV:redirect-lifetime property has the value DAV:temporary.
</t>
</section>
</section>





<section title="UPDATEREDIRECTREF Method" anchor="METHOD_UPDATEREDIRECTREF">
<iref item="UPDATEREDIRECTREF method" primary="true"/>
<iref item="Methods" subitem="UPDATEREDIRECTREF" primary="true"/>
<t>
  The UPDATEREDIRECTREF method requests the update of a redirect reference resource. 
</t>
<t>
  If a UPDATEREDIRECTREF request fails, the server state preceding the request MUST be restored. 
</t>
<t>
  Responses from a UPDATEREDIRECTREF request MUST NOT be cached, as UPDATEREDIRECTREF has
  non-safe semantics (see <xref target="RFC2616"/>, section 9.1).  
</t>
<t>
  Marshalling:
  <list>
    <t>The request body MUST be a DAV:updateredirectref XML element.
      <figure><artwork>
   &lt;!ELEMENT updateredirectref (reftarget?, redirect-lifetime?)&gt;</artwork>
    <postamble>See <xref target="METHOD_MKREDIRECTREF"/> for a definition of
    DAV:reftarget and DAV:redirect-lifetime.</postamble></figure>
    </t>
    <t>
      If no DAV:reftarget element is specified, the server MUST NOT change
      the target of the redirect reference.   
    </t>
    <t>
      If no DAV:redirect-lifetime element is specified, the server MUST NOT change
      the lifetime of the redirect reference.
    </t>
    <t>
      If a response body for a successful request is included, it MUST be a
      DAV:updateredirectref-response XML element.  Note that this document does
      not define any elements for the UPDATEREDIRECTREF response body, but the
      DAV:updateredirectref-response element is defined to ensure
      interoperability between future extensions that do define elements for
      the response body.
      <figure><artwork>
   &lt;!ELEMENT updateredirectref-response ANY&gt;</artwork></figure>
    </t>
  </list>
</t>
<t>
  Preconditions:
  <list>
    <t>
      <iref item="Condition Names" subitem="DAV:locked-update-allowed (pre)" primary="true"/>
      <iref item="DAV:locked-update-allowed precondition" primary="true"/>
      (DAV:locked-update-allowed): if the resource is write-locked, then the appropriate
      token MUST be specified in an If request header.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:must-be-redirectref (pre)" primary="true"/>
      <iref item="DAV:must-be-redirectref precondition" primary="true"/>
      (DAV:must-be-redirectref): the resource identified by the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URI</ed:del><ed:ins>Request-URI</ed:ins></ed:replace>
      must be a redirect reference resource as defined by this specification.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:redirect-lifetime-supported (pre)" primary="true"/>
      <iref item="DAV:redirect-lifetime-supported precondition" primary="true"/>
      (DAV:redirect-lifetime-supported): see <xref target="METHOD_MKREDIRECTREF"/>.
    </t>
    <t>
      <iref item="Condition Names" subitem="DAV:redirect-lifetime-update-supported (pre)" primary="true"/>
      <iref item="DAV:redirect-lifetime-update-supported precondition" primary="true"/>
      (DAV:redirect-lifetime-update-supported): servers MAY support changing
      the DAV:redirect-lifetime property; if they don't, this condition code can
      be used to signal failure.
    </t>
  </list>
</t>
<t>
  Postconditions:
  <list>
    <t>
      <iref item="Condition Names" subitem="DAV:redirectref-updated (post)" primary="true"/>
      <iref item="DAV:redirectref-updated postcondition" primary="true"/>
      (DAV:redirectref-updated): the DAV:reftarget and DAV:redirect-lifetime
      properties of the redirect reference have been updated accordingly.
    </t>
  </list>
</t>

<section title="Example: Updating a Redirect Reference Resource with UPDATEREDIRECTREF">
<figure><preamble>
&gt;&gt; Request:</preamble>
<artwork>
UPDATEREDIRECTREF /~whitehead/dav/spec08.ref HTTP/1.1
Host: www.example.com
Apply-To-Redirect-Ref: T
Content-Type: text/xml; charset="utf-8"
Content-Length: xxx

&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;D:updateredirectref xmlns:D="DAV:"&gt;
  &lt;D:reftarget&gt;
    &lt;D:href&gt;/i-d/draft-webdav-protocol-08b.txt&lt;/D:href&gt;
  &lt;/D:reftarget&gt;
&lt;/D:updateredirectref&gt;
</artwork>
</figure>

<figure><preamble>
&gt;&gt; Response:</preamble>
<artwork>
HTTP/1.1 200 OK
</artwork>
</figure>
<t>
  This request has updated the redirect reference's DAV:reftarget property to "/i-d/draft-webdav-protocol-08b.txt",
  and has not changed the DAV:redirect-lifetime value.  Note that
  the "Apply-To-Redirect-Ref" request header must be used, otherwise the
  request would result in a redirect (3xx) response status.
</t>
</section>
</section>


<section title="Operations on Collections That Contain Redirect Reference Resources" anchor="operations.on.collections.that.contain.redirect.reference.resources">
<t>
  Consistent with the rules in <xref target="operations.on.redirect.reference.resources"/>, the response for each redirect 
  reference encountered while processing a collection MUST be a 3xx (Redirection) unless a "Apply-To-Redirect-Ref: T" header is included with the 
  request.  The overall response will therefore be a 207 (Multi-Status).  For  
  each DAV:response element representing a redirect reference, the server
  MUST include an additional DAV:location element, specifying the value of the
  "Location" header that would be returned otherwise.  The extension is defined
  in <xref target="extensions.to.response.element"/> below.  
</t>
<t>
  The Apply-To-Redirect-Ref header (defined in <xref target="header.apply-to-redirect-ref"/>) MAY be used 
  with any request on a collection.  If present, it will be applied to all 
  redirect reference resources encountered while processing the collection.
</t>

<section title="LOCK on a Collection That Contains Redirect References">
<t>
  An attempt to lock (with Depth: infinity) a collection that contains redirect references 
  without specifying "Apply-To-Redirect-Ref: T" will always fail.  The Multi-Status response will contain a
  3xx response for each redirect reference.
</t>
<t>
  Reference-aware clients can lock the collection by using Apply-To-Redirect-Ref,
  and, if desired, lock the targets of the redirect references individually.
</t>
<t>
  Non-referencing clients must resort to locking each resource 
  individually.
</t>
</section>

<section title="Example: PROPFIND on a Collection with Redirect Reference Resources">
<t>
  Suppose a PROPFIND request with Depth: infinity is submitted to the 
  following collection, with the members shown here:
</t>
<figure>

<artwork>
/MyCollection/
     (non-reference resource) diary.html
     (redirect reference resource) nunavut
</artwork>

</figure>
<figure><preamble>
&gt;&gt; Request:</preamble>

<artwork>
PROPFIND /MyCollection/ HTTP/1.1
Host: example.com
Depth: infinity
Apply-To-Redirect-Ref: F
Content-Type: text/xml
Content-Length: xxxx

&lt;?xml version="1.0" ?&gt;
&lt;D:propfind xmlns:D="DAV: "&gt;
  &lt;D:prop xmlns:J="http://example.com/jsprops/"&gt;
    &lt;D:resourcetype/&gt;
    &lt;J:keywords/&gt;
  &lt;/D:prop&gt;
&lt;/D:propfind&gt;
</artwork>

</figure>
<figure><preamble>
&gt;&gt; Response:</preamble>

<artwork>
HTTP/1.1 207 Multi-Status
Content-Type: text/xml
Content-Length: xxxx

&lt;?xml version="1.0" ?&gt;
&lt;D:multistatus xmlns:D="DAV:" xmlns:J="http://example.com/jsprops/"&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype&gt;&lt;D:collection/&gt;&lt;/D:resourcetype&gt;
        &lt;J:keywords&gt;diary, interests, hobbies&lt;/J:keywords&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/diary.html&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype/&gt;
        &lt;J:keywords&gt;diary, travel, family, history&lt;/J:keywords&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/nunavut&lt;/D:href&gt;
    &lt;D:status&gt;HTTP/1.1 302 Found&lt;/D:status&gt;
    &lt;D:location&gt; 
      &lt;D:href&gt;http://example.ca/art/inuit/&lt;/D:href&gt;
    &lt;/D:location&gt;
  &lt;/D:response&gt;
&lt;/D:multistatus&gt;
</artwork>

</figure>
<t>
  In this example the Depth header is set to infinity, and the Apply-To-Redirect-Ref
  header is set to "F".  The collection contains one URI that 
  identifies a redirect reference resource.  The response element for the 
  redirect reference resource has a status of 302 (Found), and includes a 
  DAV:location extension element to allow clients to retrieve the properties of 
  its target resource.  (The response element for the redirect reference 
  resource does not include the requested properties.  The client can 
  submit another PROPFIND request to the URI in the DAV:location pseudo-property
  to retrieve those properties.) 
</t>
</section>

<section title="Example: PROPFIND with Apply-To-Redirect-Ref on a Collection with Redirect Reference Resources">
<t>
  Suppose a PROPFIND request with "Apply-To-Redirect-Ref: T" and Depth: 
  infinity is submitted to the following collection, with the members 
  shown here:
</t>
<figure><artwork>
/MyCollection/
     (non-reference resource) diary.html
     (redirect reference resource) nunavut
</artwork></figure>
<figure><preamble>
&gt;&gt; Request:</preamble>

<artwork>
PROPFIND /MyCollection/ HTTP/1.1
Host: example.com
Depth: infinity
Apply-To-Redirect-Ref: T
Content-Type: text/xml
Content-Length: xxxx

&lt;?xml version="1.0" ?&gt;
&lt;D:propfind xmlns:D="DAV:"&gt;
  &lt;D:prop&gt;
    &lt;D:resourcetype/&gt;
    &lt;D:reftarget/&gt;
    &lt;D:redirect-lifetime/&gt;
  &lt;/D:prop&gt;
&lt;/D:propfind&gt;
</artwork>

</figure>

<figure><preamble>
&gt;&gt; Response:</preamble>

<artwork>
HTTP/1.1 207 Multi-Status
Content-Type: text/xml
Content-Length: xxxx

&lt;?xml version="1.0" ?&gt;
&lt;D:multistatus xmlns:D="DAV:"&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype&gt;&lt;D:collection/&gt;&lt;/D:resourcetype&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:reftarget/&gt;
        &lt;D:redirect-lifetime/&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 404 Not Found&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/diary.html&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype/&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:reftarget/&gt;
        &lt;D:redirect-lifetime/&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 404 Not Found&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/nunavut&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype&gt;&lt;D:redirectref/&gt;&lt;/D:resourcetype&gt;
        &lt;D:reftarget&gt;
          &lt;D:href&gt;http://example.ca/art/inuit/&lt;/D:href&gt;
        &lt;/D:reftarget&gt;
        &lt;D:redirect-lifetime&gt;&lt;D:temporary/&gt;&lt;/D:redirect-lifetime&gt;
      &lt;/D:prop&gt;
    &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
&lt;/D:multistatus&gt;
</artwork>

</figure>

<t>
  Since the "Apply-To-Redirect-Ref: T" header is present, the response shows 
  the properties of the redirect reference resource in the collection 
  rather than reporting a 302 status.
</t>
</section>

<section title="Example: COPY on a Collection That Contains a Redirect Reference Resource">
<t>
  Suppose a COPY request is submitted to the following collection, with 
  the members shown:
</t>
<figure><artwork>
/MyCollection/
     (non-reference resource) diary.html
     (redirect reference resource) nunavut with target       
                                /Someplace/nunavut.map
</artwork></figure>
<figure><preamble>
&gt;&gt; Request:</preamble>

<artwork>
COPY /MyCollection/ HTTP/1.1
Host: example.com
Depth: infinity
Destination: http://example.com/OtherCollection/
</artwork>

</figure>
<figure><preamble>
&gt;&gt; Response:</preamble>

<artwork>
HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxx

&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;D:multistatus xmlns:D="DAV:"&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/nunavut&lt;/D:href&gt;
    &lt;D:status&gt;HTTP/1.1 302 Found&lt;/D:status&gt;
    &lt;D:location&gt; 
      &lt;D:href&gt;http://example.com//Someplace/nunavut.map&lt;/D:href&gt;
    &lt;/D:location&gt;
  &lt;/D:response&gt;
&lt;/D:multistatus&gt;
</artwork>

</figure>
<t>
  In this case, since /MyCollection/nunavut is a redirect reference 
  resource, the COPY operation was only a partial success.  The redirect 
  reference resource was not copied, but a 302 response was returned for 
  it.  So the resulting collection is as follows:
</t>
<figure><artwork>
/OtherCollection/
      (non-reference resource) diary.html
</artwork></figure>
</section>


<section title="Example: LOCK on a Collection That Contains a Redirect Reference Resource">
<t>
  Suppose a LOCK request is submitted to the following collection, with 
  the members shown:
</t>
<figure><artwork>
/MyCollection/
     (non-reference resource) diary.html
     (redirect reference resource) nunavut
</artwork></figure>
<figure><preamble>
&gt;&gt; Request:</preamble>
<artwork>
LOCK /MyCollection/ HTTP/1.1
Host: example.com
Apply-To-Redirect-Ref: F
Content-Type: text/xml

&lt;?xml version="1.0" ?&gt;
&lt;D:lockinfo xmlns:D="DAV:"&gt;
  &lt;D:lockscope&gt;&lt;D:exclusive/&gt;&lt;/D:lockscope&gt;
  &lt;D:locktype&gt;&lt;D:write/&gt;&lt;/D:locktype&gt;
&lt;/D:lockinfo&gt;
</artwork>

</figure>
<figure><preamble>
&gt;&gt; Response:</preamble>
<artwork>
HTTP/1.1 207 Multi-Status
Content-Type: text/xml
Content-Length: nnnn

&lt;?xml version="1.0" ?&gt;
&lt;D:multistatus xmlns:D="Dav:"&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/&lt;/D:href&gt;
    &lt;D:status&gt;HTTP/1.1 424 Failed Dependency&lt;/D:status&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/diary.html&lt;/D:href&gt;
    &lt;D:status&gt;HTTP/1.1 424 Failed Dependency&lt;/D:status&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/MyCollection/nunavut&lt;/D:href&gt;
    &lt;D:status&gt;HTTP/1.1 302 Found&lt;/D:status&gt;
    &lt;D:location&gt;
      &lt;D:href&gt;http://example.ca/art/inuit/&lt;/D:href&gt;
    &lt;/D:location&gt;
  &lt;/D:response&gt;
&lt;/D:multistatus&gt;
</artwork>

</figure>
<t>
  The server returns a 302 response code for the redirect reference 
  resource in the collection.  Consequently, neither the collection nor 
  any of the resources identified by its internal member URIs were locked.  A
  referencing-aware client can submit a separate LOCK request to the URI 
  in the DAV:location element returned for the redirect reference 
  resource, and can resubmit the LOCK request with the Apply-To-Redirect-Ref
  header to the collection.  At that point both the reference resource 
  and its target resource will be locked (as well as the collection and 
  all the resources identified by its other members).
</t>
</section>
</section>

<section title="Operations on Targets of Redirect Reference Resources" anchor="operations.on.targets.of.redirect.reference.resources">
<t>
  Operations on targets of redirect reference resources have no effect on 
  the reference resource. 
</t>
</section>

<section title="Relative references in DAV:reftarget" ed:resolves="rfc2396bis" ed:datetime="2004-11-14" ed:old-title="Relative URIs in DAV:reftarget">
<t>
  The URI in the href in a DAV:reftarget property MAY be a relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI</ed:del><ed:ins>reference</ed:ins></ed:replace>.  In
  this case, the base URI to be used for resolving <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>the relative URI</ed:del><ed:ins>it</ed:ins></ed:replace> to 
  absolute form is the URI used in the HTTP message to identify the 
  redirect reference resource to which the DAV:reftarget property belongs.  
</t>
<t>
  When DAV:reftarget appears in the context of a Multi-Status response, it 
  is in a DAV:response element that contains a single DAV:href element.  The
  value of this DAV:href element serves as the base URI for resolving 
  a relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI</ed:del><ed:ins>reference</ed:ins></ed:replace> in DAV:reftarget.  The value of DAV:href may itself be 
  relative, in which case it must be resolved first in order to serve as 
  the base URI for the relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI</ed:del><ed:ins>reference</ed:ins></ed:replace> in DAV:reftarget.  If the DAV:href 
  element is relative, its base URI is constructed from the scheme 
  component "http", the value of the Host header in the request, and the 
  <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URI</ed:del><ed:ins>Request-URI</ed:ins></ed:replace>.
</t>



<section title="Example: Resolving a Relative Reference in a Multi-Status Response" ed:resolves="rfc2396bis" ed:datetime="2004-11-14" ed:old-title="Example: Resolving a Relative URI in a Multi-Status Response">
<figure><preamble>
&gt;&gt; Request:</preamble>

<artwork>
PROPFIND /geog/ HTTP/1.1
Host: example.com
Apply-To-Redirect-Ref: T
Depth: 1
Content-Type: text/xml
Content-Length: nnn

&lt;?xml version="1.0" ?&gt;
&lt;D:propfind xmlns:D="DAV:"&gt;
  &lt;D:prop&gt;
    &lt;D:resourcetype/&gt;
    &lt;D:reftarget/&gt;
  &lt;/D:prop&gt;
&lt;/D:propfind&gt;
</artwork>

</figure>
<figure><preamble>
&gt;&gt; Response:</preamble>
<artwork>
HTTP/1.1 207 Multi-Status
Content-Type: text/xml
Content-Length: nnn

&lt;?xml version="1/0" ?&gt;
&lt;D:multistatus xmlns:D="DAV:"&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/geog/&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype&gt;&lt;D:collection/&gt;&lt;/D:resourcetype&gt;
      &lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;&lt;D:reftarget/&gt;&lt;/D:prop&gt;
      &lt;D:status&gt;HTTP/1.1 404 Not Found&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
  &lt;D:response&gt;
    &lt;D:href&gt;/geog/stats.html&lt;/D:href&gt;
    &lt;D:propstat&gt;
      &lt;D:prop&gt;
        &lt;D:resourcetype&gt;&lt;D:redirectref/&gt;&lt;/D:resourcetype&gt;
        &lt;D:reftarget&gt;
          &lt;D:href&gt;statistics/population/1997.html&lt;/D:href&gt;
        &lt;/D:reftarget&gt;
      &lt;/D:prop&gt;
    &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
    &lt;/D:propstat&gt;
  &lt;/D:response&gt;
&lt;/D:multistatus&gt;
</artwork>
</figure>
<t>
  In this example, the relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI statistics/population/1997.html</ed:del>
  <ed:ins>reference "statistics/population/1997.html"</ed:ins></ed:replace> is 
  returned as the value of <ed:replace ed:resolves="edit" datetime="2004-11-14"><ed:del>reftarget</ed:del><ed:ins>the DAV:reftarget property</ed:ins></ed:replace> for the reference resource identified 
  by href /geog/stats.html.  The href is itself a relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI</ed:del><ed:ins>reference</ed:ins></ed:replace>, which 
  resolves to http://example.com/geog/stats.html.  This is the base URI 
  for resolving the relative <ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>URI</ed:del><ed:ins>reference</ed:ins></ed:replace> in reftarget.  The absolute URI of 
  reftarget is http://example.com/geog/statistics/population/1997.html.
</t>
</section>
</section>

<section title="Redirect References to Collections" anchor="redirect.references.to.collections">
<t>
  In a Request-URI /segment1/segment2/segment3, any of the three segments 
  may identify a redirect reference resource.  (See <ed:replace ed:resolves="rfc2396bis" datetime="2005-01-25"><ed:del><xref target="RFC2396"/></ed:del>
  <ed:ins><xref target="RFC3986"/></ed:ins></ed:replace>, Section 3.3, 
  for definitions of "path" and "segment".)  If any segment in a Request-URI
  identifies a redirect reference resource, the response SHOULD be a 
  3xx.  The value of the Location header in the  response is as follows: 
</t>
<t>
  The leftmost path segment of the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URI</ed:del><ed:ins>Request-URI</ed:ins></ed:replace> that identifies a redirect 
  reference resource, together with all path segments and separators to 
  the left of it, is replaced by the value of the redirect reference 
  resource's DAV:reftarget property (resolved to an absolute URI).  The 
  remainder of the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request-URI</ed:del><ed:ins>Request-URI</ed:ins></ed:replace> is concatenated to this path.  
</t>
<t>
  Note: If the DAV:reftarget property ends with a "/" and the remainder of 
  the Request-URI is non-empty (and therefore must begin with a "/"), the 
  final "/" in the DAV:reftarget property is dropped before the remainder 
  of the Request-URI is appended.
</t>
<t>
  Consider Request-URI /x/y/z.html.  Suppose that /x/ is a redirect 
  reference resource whose target resource is collection /a/, which 
  contains redirect reference resource y whose target resource is 
  collection /b/, which contains redirect reference resource z.html whose 
  target resource is /c/d.html.
</t>
<figure><artwork align="center">
/x/y/z.html
    |
    | /x -&gt; /a
    |
    v
/a/y/z.html
    |
    | /a/y -&gt; /b
    |
    v
/b/z.html
    |
    | /b/z.html -&gt; /c/d.html
    |
    v
/c/d.html
</artwork></figure>
<t>
  In this case the client must follow up three separate 3xx responses 
  before finally reaching the target resource.  The server responds to the 
  initial request with a 3xx with Location: /a/y/z.html, and the client 
  resubmits the request to /a/y/z.html.  The server responds to this 
  request with a 3xx with Location: /b/z.html, and the client resubmits 
  the request to /b/z.html.  The server responds to this request with a 
  3xx with Location: /c/d.html, and the client resubmits the request to 
  /c/d.html.  This final request succeeds.
</t>

<t>
  <list><t>
  Note: the behavior described above may have a very serious impact on the
  efficiency of mapping Request-URIs to resources in HTTP request
  processing.  Therefore servers MAY respond with a 404 status code if the cost of checking
  all leading path segments for redirect references seems prohibitive.
  </t></list>
</t>

</section>


<section title="Headers" anchor="headers">

<section title="Redirect-Ref Response Header" anchor="header.redirect-ref">
<iref item="Redirect-Ref header" primary="true"/>
<iref item="Headers" subitem="Redirect-Ref" primary="true"/>
<figure><artwork type="abnf">
Redirect-Ref = "Redirect-Ref:" (<ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>
absoluteURI | relativeURI</ed:del><ed:ins>absolute-URI | 
                                relative-part [ "?" query ]</ed:ins></ed:replace>)
<ed:replace ed:resolves="rfc2396bis" datetime="2005-01-25"><ed:del>               ; see sections 3 and 5 of [RFC2396]
</ed:del><ed:ins>; absolute-URI: see <xref target="RFC3986"/>, section 4.3
; query: see <xref target="RFC3986"/>, section 3.4
; relative-part: see <xref target="RFC3986"/>, section 4.2</ed:ins></ed:replace>
</artwork></figure>
<t>
  The Redirect-Ref header is used in all 3xx responses from redirect 
  reference resources.  The value is the<ed:del ed:resolves="edit" datetime="2004-11-14"> (possibly relative) URI of the</ed:del>  link target as specified during
  redirect reference resource creation. 
</t>
</section>

<section title="Apply-To-Redirect-Ref Request Header" anchor="header.apply-to-redirect-ref">
<iref item="Apply-To-Redirect-Ref header" primary="true"/>
<iref item="Headers" subitem="Apply-To-Redirect-Ref" primary="true"/>
<figure><artwork type="abnf">
Apply-To-Redirect-Ref = "Apply-To-Redirect-Ref" ":" ("T" | "F")
</artwork></figure>
<t>
  The optional Apply-To-Redirect-Ref header can be used on any request to 
  a redirect reference resource.  When it is present and set to "T", the request MUST be 
  applied to the reference resource itself, and a 3xx response MUST NOT be 
  returned.
</t>
<t>
  If the Apply-To-Redirect-Ref header is used on a request to any other 
  sort of resource besides a redirect reference resource, the server 
  MUST ignore it. 
</t>
</section>
</section>




<section title="Redirect Reference Resource Properties" anchor="properties">
<ed:issue xmlns='http://www.w3.org/1999/xhtml' name="13_allprop" type="change" status="closed" href="http://lists.w3.org/Archives/Public/w3c-dist-auth/2004OctDec/0051.html">
  <ed:item entered-by="julian.reschke@greenbytes.de" date="2004-11-13">
    Make the spec consistent with RFC3253, RFC3648 and RFC3744 (new properties
    not returned upon PROPFIND/allprop requests).
  </ed:item>
  <ed:resolution datetime="2004-11-13">
    Add statement about PROPFIND/allprop behaviour.
  </ed:resolution>
</ed:issue>
<t>
  The properties defined below are REQUIRED on redirect reference resources.<ed:replace ed:resolves="13_allprop" datetime="2004-11-13"><ed:ins>  A PROPFIND/allprop request SHOULD NOT return any of the properties defined in this document.</ed:ins></ed:replace>
</t>

<section title="DAV:redirect-lifetime (protected)" anchor="redirect-lifetime.property">
<iref item="DAV:redirect-lifetime property" primary="true"/>
<iref item="Properties" subitem="DAV:redirect-lifetime" primary="true"/>
<t>
  This property provides information about the lifetime of a redirect.  It can
  either be DAV:permanent (HTTP status 301) or DAV:temporary (HTTP status
  302).  Future protocols may define additional values. 
</t>
<figure><artwork>
&lt;!ELEMENT redirect-lifetime (permanent | temporary)&gt;
&lt;!ELEMENT permanent EMPTY&gt;
&lt;!ELEMENT temporary EMPTY&gt;
</artwork></figure>
</section>

<section title="DAV:reftarget (protected)" anchor="reftarget.property">

<iref item="DAV:reftarget property" primary="true"/>
<iref item="Properties" subitem="DAV:reftarget" primary="true"/>
<t>
  This property provides an efficient way for clients to discover the URI of
  the target resource.  This is a read-only property after its initial creation.
  Its value can only be set in a MKREDIRECTREF request.  The value is a DAV:href
  element containing the URI of the target resource.
</t>
<figure><artwork>
&lt;!ELEMENT reftarget href &gt;
</artwork></figure>
</section>
</section>




<section title="XML Elements" anchor="xml.elements">

<section title="redirectref XML Element" anchor="redirectref.xml.element">
<iref item="DAV:redirectref resource type" primary="true"/>
<iref item="Resource Types" subitem="DAV:redirectref" primary="true"/>
<t>
<list style="hanging">
<t hangText="Name:">redirectref</t>
<t hangText="Namespace:">DAV:</t>
<t hangText="Purpose:">Used as the value of the DAV:resourcetype property to   
            specify that the resource type is a redirect reference   
            resource.</t>
</list>
</t>
<figure><artwork>
&lt;!ELEMENT redirectref EMPTY &gt;
</artwork></figure>
</section>
</section>


<section title="Extensions to the DAV:response XML Element for Multi-Status Responses" anchor="extensions.to.response.element">
<t>
  As described in <xref target="operations.on.collections.that.contain.redirect.reference.resources"/>, the DAV:location element
  may be returned in the DAV:response element of  a 207 Multi-Status response,
  to allow clients to resubmit their requests  to the target resource of a
  redirect reference resource.  
</t>
<t>
  Consequently, the definition of the DAV:response XML element changes to 
  the following:
</t>
<figure><artwork>
&lt;!ELEMENT response (href, ((href*, status)|(propstat+)),
                    responsedescription?, location?) &gt;
&lt;!ELEMENT location (href) &gt; 
</artwork></figure>


</section>


<section title="Capability Discovery" anchor="capability.discovery">
<iref item="DAV header" subitem="compliance class 'redirectrefs'" primary="true"/>
<t>
  Sections 9.1 and 15 of <xref target="RFC2518"/> describe the use of compliance classes 
  with the DAV header in responses to OPTIONS, to indicate which parts of 
  the WebDAV Distributed Authoring protocols the resource supports.  This 
  specification defines an OPTIONAL extension to <xref target="RFC2518"/>.  It defines a 
  new compliance class, called redirectrefs, for use with the DAV header 
  in responses to OPTIONS requests.  If a resource does support redirect 
  references, its response to an OPTIONS request may indicate that it 
  does, by listing the new redirectrefs compliance class in the DAV 
  header and by listing the MKREDIRECTREF method as one it supports.
</t>
<t>
  When responding to an OPTIONS request, any type of resource can include 
  redirectrefs in the value of the DAV header.  Doing so indicates that 
  the server permits a redirect reference resource at the <ed:replace ed:resolves="edit" datetime="2004-11-17"><ed:del>request URI</ed:del><ed:ins>Request-URI</ed:ins></ed:replace>.
</t>
<section title="Example: Discovery of Support for Redirect Reference Resources">
<figure><preamble>
&gt;&gt; Request:</preamble>
<artwork>
OPTIONS /somecollection/someresource HTTP/1.1
Host: example.org
</artwork>
</figure>

<figure><preamble>
&gt;&gt; Response:</preamble>

<artwork>
HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE
Allow: MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, MKREDIRECTREF
DAV: 1, 2, redirectrefs
</artwork>

</figure>
<t>
  The DAV header in the response indicates that the resource 
  /somecollection/someresource is level 1 and level 2 compliant, as 
  defined in <xref target="RFC2518"/>.  In addition, /somecollection/someresource supports 
  redirect reference resources.  The Allow header indicates that 
  MKREDIRECTREF requests can be submitted to /somecollection/someresource.
</t>
</section>
</section>

<section title="Security Considerations" anchor="security.considerations">
<t>
  This section is provided to make applications that implement this protocol aware of the 
  security implications of this protocol. 
</t>
<t>
  All of the security considerations of HTTP/1.1 and the WebDAV 
  Distributed Authoring Protocol specification also apply to this protocol 
  specification.  In addition, redirect reference resources introduce 
  several new security concerns and increase the risk of some existing 
  threats.  These issues are detailed below.
</t>

<section title="Privacy Concerns">
<t>
  By creating redirect reference resources on a trusted server, it is 
  possible for a hostile agent to induce users to send private information 
  to a target on an unrelated system.   This risk is mitigated somewhat, 
  since clients are required to notify the user of the redirection for any 
  request other than GET or HEAD. (See <xref target="RFC2616"/>, Section 10.3.3 302 Found.)
</t>
</section>

<section title="Redirect Loops">
<t>
  Although redirect loops were already possible in HTTP 1.1, the 
  introduction of the MKREDIRECTREF method creates a new avenue for clients 
  to create loops accidentally or maliciously.  If the reference resource 
  and its target are on the same server, the server may be able to detect 
  MKREDIRECTREF requests that would create loops. See also <xref target="RFC2616"/>, Section 
  10.3 "Redirection 3xx."
</t>
</section>

<section title="Redirect Reference Resources and Denial of Service">
<t>
  Denial of service attacks were already possible by posting URLs that 
  were intended for limited use at heavily used Web sites.  The 
  introduction of MKREDIRECTREF creates a new avenue for similar denial of 
  service attacks.  Clients can now create redirect reference resources at 
  heavily used sites to target locations that were not designed for heavy 
  usage.
</t>
</section>






<section title="Revealing Private Locations">
<t>
  There are several ways that redirect reference resources may reveal 
  information about collection structures.  First, the DAV:reftarget 
  property of every redirect reference resource contains the URI of the 
  target resource.  Anyone who has access to the reference resource can 
  discover the collection path that leads to the target resource.   The 
  owner of the target resource may have wanted to limit knowledge of this 
  collection structure.
</t>
<t>
  Sufficiently powerful access control mechanisms can control this risk to 
  some extent.  Property-level access control could prevent users from 
  examining the DAV:reftarget property.  (The Location header returned in 
  responses to requests on redirect reference resources reveals the same 
  information, however.)
</t>
<t>
  This risk is no greater than the similar risk posed by HTML links.
</t>
</section>


</section>


<section title="Internationalization Considerations">
<t>
  All internationalization considerations mentioned in <xref target="RFC2518"/> also apply to this document.
</t>

</section>

<section title="IANA Considerations" anchor="iana.considerations">


<t>
  All IANA considerations mentioned in <xref target="RFC2518"/> also 
  apply to this document.
</t>
</section>


<section title="Contributors">
<t>
  Many thanks to Jason Crawford, Jim Davis, Chuck Fay and Judith Slein who can take credit
  for big parts of the original design of this specification. 
</t>
</section>


<section title="Acknowledgements">
<t>
  This document has benefited from thoughtful discussion by Jim Amsden, Peter 
  Carlson, Steve Carter, Tyson Chihaya, Ken Coar, Ellis Cohen, Bruce 
  Cragun, Spencer Dawkins, Mark Day, Rajiv Dulepet, David Durand, Lisa Dusseault, Stefan Eissing, Roy 
  Fielding, Yaron Goland, Fred Hitt, Alex Hopmann, James Hunt, Marcus 
  Jager, Chris Kaler, Manoj Kasichainula, Rohit Khare, Daniel LaLiberte, 
  Steve Martin, Larry Masinter, Jeff McAffer, Joe Orton, 
  Surendra Koduru Reddy, Juergen Reuter, Max 
  Rible, Sam Ruby, Bradley Sergeant, Nick Shelness, John Stracke, John 
  Tigue, John Turner, Kevin Wiggen, and others.
</t>
</section>

	</middle>
    <back>
        
<references title="Normative References">

<reference anchor="RFC2119">
  <front>
    <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
    <author initials="S." surname="Bradner" fullname="Scott Bradner">
    <organization>Harvard University</organization>
      <address>
        <email>sob@harvard.edu</email>
      </address>
    </author>
    <date month="March" year="1997"/>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
</reference>

<ed:replace ed:resolves="abnf" datetime="2005-02-09"><ed:ins>
  <reference anchor='RFC2234'>
    <front>
      <title abbrev='ABNF for Syntax Specifications'>Augmented BNF for Syntax Specifications: ABNF</title>
      <author initials='D.H.' surname='Crocker' fullname='David H. Crocker'>
        <organization>Internet Mail Consortium</organization>
        <address>
        <postal>
        <street>675 Spruce Dr.</street>
        <city>Sunnyvale</city>
        <region>CA</region>
        <code>94086</code>
        <country>US</country></postal>
        <phone>+1 408 246 8253</phone>
        <facsimile>+1 408 249 6205</facsimile>
        <email>dcrocker@imc.org</email></address>  
      </author>
      <author initials='P.' surname='Overell' fullname='Paul Overell'>
        <organization>Demon Internet Ltd</organization>
        <address>
        <postal>
        <street>Dorking Business Park</street>
        <street>Dorking</street>
        <city>Surrey</city>
        <region>England</region>
        <code>RH4 1HN</code>
        <country>UK</country></postal>
        <email>paulo@turnpike.com</email></address>
      </author>
      <date month='November' year='1997' />
    </front>
    <seriesInfo name='RFC' value='2234' />
  </reference>
</ed:ins></ed:replace>

<ed:replace ed:resolves="rfc2396bis" datetime="2004-11-14"><ed:del>
<reference anchor="RFC2396">
  <front>
    <title abbrev="URI Generic Syntax">Uniform Resource Identifiers (URI): Generic Syntax</title>
    <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
      <organization>World Wide Web Consortium</organization>
      <address>
        <postal>
        <street>MIT Laboratory for Computer Science, NE43-356</street>
        <street>545 Technology Square</street>
        <city>Cambridge</city>
        <region>MA</region>
        <code>02139</code></postal>
        <facsimile>+1(617)258-8682</facsimile>
        <email>timbl@w3.org</email>
      </address>
    </author>
    <author initials="R.T." surname="Fielding" fullname="Roy T. Fielding">
      <organization>Department of Information and Computer Science</organization>
      <address>
        <postal>
        <street>University of California, Irvine</street>
        <city>Irvine</city>
        <region>CA</region>
        <code>92697-3425</code></postal>
        <facsimile>+1(949)824-1715</facsimile>
        <email>fielding@ics.uci.edu</email>
      </address>
    </author>
    <author initials="L." surname="Masinter" fullname="Larry Masinter">
      <organization>Xerox PARC</organization>
      <address>
        <postal>
        <street>3333 Coyote Hill Road</street>
        <city>Palo Alto</city>
        <region>CA</region>
        <code>94034</code></postal>
        <facsimile>+1(415)812-4333</facsimile>
        <email>masinter@parc.xerox.com</email>
      </address>
    </author>
    <date month="August" year="1998"/>
  </front>
  <seriesInfo name="RFC" value="2396"/>
</reference>
</ed:del><ed:ins>
<reference anchor="RFC3986">
  <front>
    <title abbrev='URI Generic Syntax'>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author initials='T.' surname='Berners-Lee' fullname='Tim Berners-Lee'>
      <organization abbrev="W3C/MIT">World Wide Web Consortium</organization>
      <address>
        <email>timbl@w3.org</email>
      </address>
    </author>
    <author initials='R.' surname='Fielding' fullname='Roy T. Fielding'>
      <organization abbrev="Day Software">Day Software</organization>
      <address>
        <email>fielding@gbiv.com</email>
      </address>
    </author>
    <author initials='L.' surname='Masinter' fullname='Larry Masinter'>
      <organization abbrev="Adobe">Adobe Systems Incorporated</organization>
      <address>
        <email>LMM@acm.org</email>
      </address>
    </author>
    <date month='January' year='2005'></date>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
</reference>
</ed:ins></ed:replace>

<reference anchor="RFC2518">
  <front>
    <title>HTTP Extensions for Distributed Authoring -- WEBDAV</title>
    <author initials="Y." surname="Goland" fullname="Y. Goland">
      <organization>Microsoft Corporation</organization>
      <address><email>yarong@microsoft.com</email></address>
    </author>
    <author initials="E." surname="Whitehead" fullname="E. J. Whitehead, Jr.">
      <organization abbrev="UC Irvine">Dept. Of Information and Computer Science, University of California, Irvine</organization>
    	<address><email>ejw@ics.uci.edu</email></address>
    </author>
    <author initials="A." surname="Faizi" fullname="A. Faizi">
      <organization abbrev="Netscape">Netscape</organization>
      <address><email>asad@netscape.com</email></address>
    </author>
    <author initials="S.R." surname="Carter" fullname="S. R. Carter">
      <organization abbrev="Novell">Novell</organization>
      <address><email>srcarter@novell.com</email></address>
    </author>
    <author initials="D." surname="Jensen" fullname="D. Jensen">
      <organization abbrev="Novell">Novell</organization>
      <address><email>dcjensen@novell.com</email></address>
    </author>
    <date month="February" year="1999"/>
  </front>
  <seriesInfo name="RFC" value="2518"/>
</reference>

<reference anchor="RFC2616">
  <front>
    <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
    <author initials="R." surname="Fielding" fullname="R. Fielding">
      <organization>University of California, Irvine</organization>
      <address><email>fielding@ics.uci.edu</email></address>
    </author>
    <author initials="J." surname="Gettys" fullname="J. Gettys">
      <organization>W3C</organization>
      <address><email>jg@w3.org</email></address>
    </author>
    <author initials="J." surname="Mogul" fullname="J. Mogul">
      <organization>Compaq Computer Corporation</organization>
      <address><email>mogul@wrl.dec.com</email></address>
    </author>
    <author initials="H." surname="Frystyk" fullname="H. Frystyk">
      <organization>MIT Laboratory for Computer Science</organization>
      <address><email>frystyk@w3.org</email></address>
    </author>
    <author initials="L." surname="Masinter" fullname="L. Masinter">
      <organization>Xerox Corporation</organization>
      <address><email>masinter@parc.xerox.com</email></address>
    </author>
    <author initials="P." surname="Leach" fullname="P. Leach">
      <organization>Microsoft Corporation</organization>
      <address><email>paulle@microsoft.com</email></address>
    </author>
    <author initials="T." surname="Berners-Lee" fullname="T. Berners-Lee">
      <organization>W3C</organization>
      <address><email>timbl@w3.org</email></address>
    </author>
    <date month="June" year="1999"/>
  </front>
  <seriesInfo name="RFC" value="2616"/>
</reference>

<reference anchor="RFC3253">
  <front>
    <title>Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)</title>
    <author initials="G." surname="Clemm" fullname="G. Clemm">
      <organization>Rational Software</organization>
      <address><email>geoffrey.clemm@rational.com</email></address>
    </author>
    <author initials="J." surname="Amsden" fullname="J. Amsden">
      <organization>IBM</organization>
      <address><email>jamsden@us.ibm.com</email></address>
    </author>
    <author initials="T." surname="Ellison" fullname="T. Ellison">
      <organization>IBM</organization>
      <address><email>tim_ellison@uk.ibm.com</email></address>
    </author>
    <author initials="C." surname="Kaler" fullname="C. Kaler">
      <organization>Microsoft</organization>
      <address><email>ckaler@microsoft.com</email></address>
    </author>
    <author initials="J." surname="Whitehead" fullname="J. Whitehead">
      <organization>UC Santa Cruz, Dept. of Computer Science</organization>
      <address><email>ejw@cse.ucsc.edu</email></address>
    </author>
    <date month="March" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3253"/>
</reference>

</references>

<section title="Changes to the WebDAV Document Type Definition">




<figure><preamble>
&lt;!-- Property Elements from <xref target="properties"/> --&gt;
</preamble><artwork>
&lt;!ELEMENT reftarget href&gt;
&lt;!ELEMENT location href&gt;
</artwork></figure>

<figure><preamble>
&lt;!-- XML Elements from <xref target="xml.elements"/> --&gt;
</preamble><artwork>
&lt;!ELEMENT redirectref EMPTY &gt;
</artwork></figure>

<figure><preamble>
&lt;!-- Changes to the DAV:response Element from <xref target="extensions.to.response.element"/> --&gt;
</preamble><artwork>
&lt;!ELEMENT response (href, ((href*, status)|(propstat+)),
                    responsedescription?, location?) &gt;
&lt;!ELEMENT location (href) &gt; 
</artwork></figure>


</section>

<section title="Change Log (to be removed by RFC Editor before publication)">

<section title="Since draft-ietf-webdav-redirectref-protocol-02">
<t>
  Julian Reschke takes editorial role (added to authors list). Cleanup
  XML indentation. Start adding all unresolved last call issues. Update
  some author's contact information. Update references, split into "normative"
  and "informational". Remove non-RFC2616 headers ("Public") from examples.
  Fixed width problems in artwork. Start resolving editorial issues.
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-03">
<t>
  Added Joe Orton and Juergen Reuter to Acknowledgements section. Close more
  editorial issues. Remove dependencies on BIND spec.
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-04">
<t>
  More editorial fixes. Clarify that MKRESOURCE can only be used to create
  redirect references (switch to new method in a future draft). Clarify
  that redirect references do not have bodies.
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-05">
<t>
  Close (accept) issue "lc-79-accesscontrol". Add issue "rfc2606-compliance".
  Close issues "lc-50-blindredirect", "lc-71-relative", "lc-74-terminology".
  Update contact info for Geoff Clemm. Moved some of the original authors names to
  new Contributors section.
  Add and close issue "9-MKRESOURCE-vs-relative-URI".
  <!-- Oct 09 -->
  Close issue "lc-72-trailingslash".
  <!-- Oct 13 -->
  Close issue "lc-60-ex". Update issue "lc-85-301" with proposal.
  Close issue "lc-06-reftarget-relative" (9-MKRESOURCE-vs-relative-URI was
  a duplicate of this one). Also remove section 9.1 (example for MKRESOURCE
  vs relative URIs).
  <!-- Oct 17 -->
  Add and resolve issue "11.2-apply-to-redirect-ref-syntax" (header now has
  values "T" and "F"). Also some cleanup for "rfc2606-compliance".
  <!-- Oct 20 -->
  Typo fixes. Add and resolve "15.1-options-response".
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-06">
<t>
  Resolve issues "lc-19-direct-ref", "lc-28-lang", "lc-29-lang", "lc-44-pseudo",
  "lc-53-s10", "lc-61-pseudo", "lc-63-move", "lc-80-i18n" and "rfc2606-compliance". Start work on index.
  Add new issue "old_clients".
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-07">
<t>
  Closed issue "lc-38-not-hierarchical". Cleaned up DTD fragments in appendix.
  Close (reject) issues "lc-55-iana" and "lc-41-no-webdav". Add issue
  "5_mkresource" and start work on MKREDIRECTREF (issue closed, but more
  work on MKREDIRECTREF needs to be done for updates and status codes other 
  than 302). Start resolution of "lc-85-301", replacing "302" by more generic
  language. Update issue "lc-57-noautoupdate". Close issue "lc-37-integrity"
  (duplicate of "lc-57-autoupdate"). Started work on "lc-85-301". Add L.
  Dusseault and S. Eissing to Acknowledgments section.
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-08">
<t>
  Fix index entries for conditions.  Open and resolve issue "specify_safeness".  Rewrite
  editorial section and parts of intro.  Add more clarifications for issue "lc-85-301" and close it.
</t>
</section>

<section title="Since draft-ietf-webdav-redirectref-protocol-09">
<t>
  Resolve issues "lc-33-forwarding", "lc-36-server" and "lc-57-noautoupdate". Close issues "lc-48-s6",
  "12.1-property-name", "3-terminology-redirectref" and "lc-58-update". Rearrange section 5 and 6.
  Add some more terms to index (no change tracking).
</t>
</section>

<ed:replace ed:resolves="edit" datetime="2005-02-09"><ed:ins>
<section title="Since draft-ietf-webdav-redirectref-protocol-10">
<t>
  Add and resolve issues "13_allprop" and "rfc2396bis".
  Use the term "Request-URI" throughout (this is what RFC2616 defines).
  Center some of the artwork.
  Add and resolve issue "abnf".
</t>
</section>
</ed:ins></ed:replace>

</section>


</back>
</rfc>