Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I am curious to see, if I can help resolve some confusion around webdav. Most IETF standards uses language that seems very obtuse.</p> <p><strong>Rationale behind WebDAV</strong></p> <p>HTTP was designed for fetching web resources or shall I say reading. It wasn't meant for authoring a web resource.</p> <p>In short, WebDAV provides a full suite of remote document access capabilities, including file storage, directory management, and support for collaborative authoring.</p> <p><strong>Think of file system</strong></p> <p>The shortest route to understanding webdav is it's similarity of treating web resources like file system.</p> <p>Just like folders, there are <code>collections</code> as special web resource that can contain other web resources. It needed to distinguish this as a special resource because capabilities (methods that would apply are different for a normal resource)</p> <p>So new method was born - <code>mkcol</code> </p> <p>Just like <code>files have attributes</code>, <code>web resources have meta-properties</code> which provides some details about the web resource. The web resource content itself can be rendered as before (HTTP already does that for you). </p> <p>In short, you also need to have <code>methods to enquire into meta-properties</code> - <code>PROPFIND</code> and also change them - <code>PROPATCH</code>. The XML payloads were meant to enquire and retrieve these properties.</p> <p>WebDAV's approach is to store properties outside the file body, can be queried without getting the entire body and updated without changing the body.</p> <p>Some properties are webdav specific. They were created out of need. For ex: <code>Resourcetype Property</code>. It was created to enquire if you are taking to special collection resource or a normal web resource contained in a collection.</p> <p>Remember that GET (Like HTTP) fetches a resource, PUT modifies a resource, and DELETE removes a resource.</p> <p><strong>Limitations of HTTP</strong></p> <p>To understand webdav, you have to understand the limitations of HTTP. </p> <ol> <li>It is stateless, forcing user to construct a search from scratch. </li> <li>You can't say do this too all resources in a particular collection. </li> <li>It is read only and does not provide collaboration capabilities required for authoring. </li> <li>It lacks support for multi-resource operations. To support that , <code>depth header</code> was created so that you could tell if it need to work on all resources. </li> </ol> <p><strong>WebDAV resource model</strong></p> <pre><code> +--------+ +--------------+ |Resource|... |Property | +--------+ +--------------+ +------++------+ |Webdav||custom| +------++------+ +-----------+ |Dav root: /|...... +-----------+ | +--------+ |.....|Resource| | +--------+ | +----------+ |.....|Collection|..... +----------+ ' +----------+ |...|Collection| | +----------+ | +--------+ |....|Resource| +--------+ </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload