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.