Skip to main content

Appendix F. Summary of Changes from RFC 2518

Appendix F. Summary of Changes from RFC 2518

This appendix provides a summary of changes from RFC 2518.

F.1. Changes for Both Client and Server Implementations

Clarifications:

  • Added clarification on which HTTP features must be supported.
  • Added clarification on when ETags must be returned.
  • Clarified that the root collection can never be deleted.
  • Clarified that clients need to be able to deal with the PROPFIND response containing properties in any order.
  • Clarified requirements for PROPFIND Depth infinity requests.
  • Added clarification on the use of the Timeout request header.
  • Added clarification on the handling of time values.

Processing Clarifications:

  • Clarified when HTTP's If headers can be used instead of WebDAV's If header.
  • Clarified that WebDAV clients need to be able to handle 401 responses when interacting with a WebDAV server.

Enhanced Guidance:

  • Added guidance on use of the DAV header.
  • Added guidance for handling of HTTP conditional headers.
  • Added guidance for PROPFIND request on collections with excessive number of resources.
  • Added example of PROPFIND response and clarified format requirements.
  • Added example COPY request and clarified Overwrite header handling.

New Functionality:

  • 102 (Processing) status code was removed from this specification. It was not widely implemented and has been moved to RFC 2518.

F.2. Changes for Client Implementations

New Guidance:

  • Added appendix on XML extensibility.
  • Added appendix on authentication of clients.
  • Added security considerations on implications of XML entities.

Processing Changes:

  • Clients no longer have to fail when they receive invalid ordering of elements in a response.

F.3. Changes for Server Implementations

Lock-Null Resources:

  • The server-supported lock-null resources were deprecated in favor of locked empty resources.
  • Servers may still support lock-null resources for backwards compatibility.

Property Changes:

  • Changed a number of property definitions to make them more consistent and clear.
  • Made DAV:getetag property mandatory where DAV:getlastmodified is required.
  • Removed DAV:getcontenttype requirement on collections.

Error Reporting:

  • Added precondition/postcondition XML elements for better error reporting in the response body.
  • Added guidance on using preconditions and postconditions.

COPY/MOVE Behavior:

  • Clarified COPY/MOVE behavior with respect to properties.
  • Clarified COPY/MOVE behavior with locks.
  • Clarified COPY/MOVE behavior with respect to Depth header.

Lock Handling:

  • Clarified that the lock owner field in a LOCK request is not authenticated.
  • Clarified when locks must timeout and when they may be extended.
  • Added LockInfo element clarification.
  • Corrected DAV:supportedlock schema.

Other Server Changes:

  • Clarified when servers must use 404 vs 405 responses.
  • Clarified DELETE collection behavior and error reporting.
  • Clarified PROPPATCH transaction requirements.
  • The OPTIONS method must include "DAV" header in responses.

F.4. Clarifications to XML Processing

Validation:

  • Clarified requirement levels for XML processing and validation.
  • Clarified that XML processing rules only apply to WebDAV-defined elements.
  • Added guidance on handling unknown XML elements.

Namespace Handling:

  • Clarified namespace usage in properties and XML elements.
  • Clarified that property names are always qualified.

DTD Changes:

  • The DTD has been removed from the specification. It was never normative and was sometimes incorrect or incomplete.

F.5. Clarifications to Protocol Details

Status Code Clarifications:

  • Clarified when each WebDAV status code must or should be used.
  • Clarified interaction of WebDAV status codes with HTTP status codes.

Header Clarifications:

  • Clarified the Depth header usage with various methods.
  • Clarified If header syntax and processing.
  • Clarified Overwrite header usage.

Response Format:

  • Made requirements clearer for Multi-Status response formatting.
  • Made href handling consistent across all uses.

Error Handling:

  • Enhanced error handling throughout using precondition/postcondition elements.
  • Added specific guidance for handling authorization failures.