webdav working group agenda ietf-49, san diego dec 15 2000 5 minutes: agenda bashing, find...
TRANSCRIPT
WebDAV Working Group AgendaIETF-49, San Diego Dec 15 2000 5 minutes: agenda bashing, find note-
taker 50 minutes: Open issues & review of
Access Control Eric Sedlar, Oracle Corporation Geoffrey Clemm, Rational Software
25 minutes: Improved status reporting Lisa Dusseault, Xythos
40 minutes: General-purpose WebDAV facilities in DeltaV Jim Amsden, IBM
Advanced Status Reporting for WebDAV
Lisa Dusseault, Xythos
Use case examples
Access Control Server does not support right ‘readACL’ Principal ‘[email protected]’ does not exist
Versioning Cannot modify existing version Cannot rename working resource
Regular WebDAV Better 412 detail
Which precondition failed Better 400 detail
What part of request is bad
Goals
Extensible Error codes must not be restricted by finite set
of codes Name specific entities
the locked file blocking a MOVE of a collection A right in an ACL not supported by server The header that had syntax errors
Report errors for multiple entities E.g. Several locked documents
Backward-compatible
Overall design
Response contains <response-detail> in XML body IF client asks for it Except for 200, 207, 1xx, 204 and 304
<response-detail> contains <status-detail> for overall (summary)
information <response> for individual resources
specified by URI in <href> tag
<detail-code> Machine-interpretable error code and details
<user-text> Freeform text to present to user In language specified by Accept-language
Example detail-codes
Stand-alone detail-codes <DAV:cannot-modify-version-content/> <DAV:cannot-modify-version-property/> <DAV:cannot-rename-resource/>
Detail-code with sub-structure:
<DAV:right-not-supported>
<DAV:right>
write-prop
</DAV:right>
</DAV:right-not-supported>
A simple example response
HTTP/1.1 400 Bad Request
Content-type: text/xml; charset=“utf-8”
Content-length: 123
<!xml version=“1.0”?>
<a:response-detail xmlns:a=“DAV:”>
<a:detail-code>
<a:xml-body-not-well-formed>
</a:detail-code>
<a:user-text lang=fr>
Le corps “XML” de la démande était mal-
formé
</a:user-text>
</a:response-detail>
Example: 423 Locked response to MOVE
<response-detail xmlns:"DAV:"> <status-detail> <detail-code><child-was-locked/></detail-code> <user-text>One or more members of “/mydir" was locked.</user-text> </status-detail> <response> <href>http://www.foo.com/dir/bar.html</href> <status>HTTP/1.1 423 Locked</status> <detail-code><child-was-locked/></detail-code> </response> <response> <href>http://www.foo.com/dir/baz.htm</href> ... </response> </response-detail>
Open Issues
Client advertisement of support Ability to describe status-code “levels”
Fatal, warning, informational How to represent multiple errors with one
resource Multiple <response> elements each with single
<detail-code> element Unique <response> element by <href>, but
containing multiple <detail-code> elements or sub-elements