WebDAV

Posted: Dec 11, 2006  6 comments  

Average Rating

Tags

WebDAV (Web Distributed Authoring and Versioning) is an extension to the HTTP protocol enabling file management on remote servers. In addition to the usual file system-like operations (copy, move, delete, etc) WebDAV adds a flexible property mechanism (based on name/value pairs) and resource locking. WebDAV is a critical component in Microsoft's web publishing story, used by Web Folders, the HTTP redirector, SMS, and many other components.

IIS 7 will have a new "clean sheet" WebDAV implementation.

"But", you ask, "why rewrite WebDAV? Didn't IIS versions 5, 5.5, and 6 include a WebDAV ISAPI? Doesn't IIS 7 support ISAPI? Why can't you just run the old WebDAV ISAPI under IIS 7?"

Good questions. There are several reasons for creating a new WebDAV implementation:

  • Compatibility - The old WebDAV was not a "normal" ISAPI - the core server contained special hooks and knowledge of the WebDAV ISAPI. The IIS 7 native module interface is sufficiently rich that these hacks are unnecessary.
  • Performance - The old WebDAV shared a lot of code with the Microsoft Exchange WebDAV module. This design included an abstraction layer between the WebDAV protocol and the native file system. The new implementation will support the native file system only -- it will be lean, mean, and fast.
  • Configuration/Administration - The old WebDAV "overloaded" a number of IIS configuration settings. For example, the standard IIS "directory browsing" setting also controlled directory access via the WebDAV PROPFIND verb. This is a problem for some site administrators who would like to enable PROPFIND access without enabling directory browsing. The new implementation will leverage IIS 7's extensible configuration schema and extensible administration tool to decouple these settings and provide more fine-grained control over WebDAV behavior.
  • New OS Goodies - There are number of new OS features in Vista and Longhorn that can be used to great benefit. For example, the new implementation will use Transactional NTFS to ensure multi-file operations either complete atomically, or not at all.
  • RFC 2518 Compliance - The old WebDAV was reasonably RFC compliant, but there are a few "holes" and corner cases that should be addressed.

We have a small team focused on WebDAV. I will be in charge of development, Robert McMurray is the Program Manager, and Marchel Cohn (no blog yet, hint hint) is in charge of testing.

Comments

  1. bills
    December 12, 2006

    cool, welcome to blogosphere! ;)

  2. qbernard
    December 12, 2006

    any clue on fpse future?

  3. steve schofield
    December 26, 2006

    It is exciting to see WebDAV has a future.  I look forward to future updates.

    Steve

  4. ingbabic
    December 27, 2006

    Hello

    Can you shed a little light to this topic in more detail, how do you plan to make new webdav server implementation, will it be ISAPI c++, or c#, or whatever, which kind of project? From where do you plan to start? Filter, or extension, or something third?

    Thanks.

  5. joeonsunset
    April 27, 2007

    Awesome. Now, do you know who's working on fixing the webDAV CLIENTS in Windows Vista? I.e., the webDAV redirector and webFolders? These seem to be broken and/or undocumented, and a Google search reveals lots of people talking about it... but no fixes.

  6. caliwildman
    November 2, 2008

    I am getting conflicting information about whether WebDAV is available for Exchange tasks. For example, in this post, it seems possible.

    blogs.interknowlogy.com/.../3715.aspx

    There are other links off that post that seems to indicate ability to handle tasks also.

    In reading WebDAV specs say here

    msdn.microsoft.com/.../aa142917(EXCHG.65).aspx

    It doesn't appear that the WebDAV methods explicitly say what Exchange features it support, the methods seem generic enough that all the Exchange features can be supported. I am generally confused but it is important for me to know if WebDAV supports tasks because I am about to launch into a development project assuming the ability to do so.

    Thanks in advance for your insights.

Submit a Comment

Microsoft Communities