<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.iis.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">keithmo's blog</title><subtitle type="html" /><id>http://blogs.iis.net/keithmo/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.iis.net/keithmo/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.iis.net/keithmo/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2006-12-11T11:25:00Z</updated><entry><title>WebDAV</title><link rel="alternate" type="text/html" href="http://blogs.iis.net/keithmo/archive/2006/12/11/webdav.aspx" /><id>http://blogs.iis.net/keithmo/archive/2006/12/11/webdav.aspx</id><published>2006-12-11T19:48:22Z</published><updated>2006-12-11T19:48:22Z</updated><content type="html">&lt;p&gt;&lt;a href="http://webdav.org/"&gt;WebDAV&lt;/a&gt;&amp;nbsp;(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.&lt;/p&gt; &lt;p&gt;IIS 7 will have a new "clean sheet" WebDAV implementation.&lt;/p&gt; &lt;p&gt;"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?"&lt;/p&gt; &lt;p&gt;Good questions. There are several reasons for creating a new WebDAV implementation:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Compatibility&lt;/strong&gt; - The old WebDAV was not a "normal" ISAPI - the core server contained special hooks and knowledge of the WebDAV ISAPI. The IIS&amp;nbsp;7 native module interface is sufficiently rich that these hacks are unnecessary.  &lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt; - 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.  &lt;li&gt;&lt;strong&gt;Configuration/Administration&lt;/strong&gt; - 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.  &lt;li&gt;&lt;strong&gt;New OS Goodies&lt;/strong&gt; - 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.  &lt;li&gt;&lt;strong&gt;RFC 2518 Compliance&lt;/strong&gt; - The old WebDAV was reasonably RFC compliant, but there are a few "holes" and corner cases that should be addressed.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;We have a small team focused on WebDAV. I will be in charge of development, &lt;a href="http://blogs.msdn.com/robert_mcmurray/"&gt;Robert McMurray&lt;/a&gt;&amp;nbsp;is the Program Manager, and Marchel Cohn (no blog yet, hint hint) is in charge of testing.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1492899" width="1" height="1"&gt;</content><author><name>keithmo</name><uri>http://blogs.iis.net/members/keithmo.aspx</uri></author></entry><entry><title>Introduction</title><link rel="alternate" type="text/html" href="http://blogs.iis.net/keithmo/archive/2006/12/11/introduction.aspx" /><id>http://blogs.iis.net/keithmo/archive/2006/12/11/introduction.aspx</id><published>2006-12-11T10:25:00Z</published><updated>2006-12-11T10:25:00Z</updated><content type="html">&lt;p&gt;My name is Keith Moore; I'm the new/old/new guy in the IIS team.&lt;/p&gt; &lt;p&gt;I joined Microsoft in June 1990, initially in the OS/2 2.0 File System group. That lasted about three months until the "big split" between Microsoft and IBM. I spent the next 10 years in the Windows NT Networking group. During that time I worked on a number of cool projects, including:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;NE3200 NDIS Driver&lt;/strong&gt; - This was one of the first "DMA bus-master" network drivers for NT, and shipped as a sample driver in the NT DDK. It was eventually dropped from the product and the DDK -- the EISA bus has thankfully been replaced by PCI and its derivatives.  &lt;li&gt;&lt;strong&gt;Windows NT FTP Server -&lt;/strong&gt;&amp;nbsp;This server was hastily written in about 10 days shortly before NT 3.1 shipped. This code base eventually became the core of the IIS project. Of course, almost everything has since been rewritten.  &lt;li&gt;&lt;strong&gt;Winsock&lt;/strong&gt; - I co-wrote the VxD Winsock implementation in TCP/IP-32 for Windows for Workgroups (a.k.a. project Wolverine), which eventually became the Winsock implementation for Windows 95. I was lead of the Winsock 2 Architectural Framework Group, and did the Winsock 2 work for NT 4.0. During the Winsock 2 days, I initiated the &lt;a href="http://www.sockets.com/lamelist.htm"&gt;Winsock Lame List&lt;/a&gt;.  &lt;li&gt;&lt;strong&gt;IIS 4&lt;/strong&gt; - I worked on various parts of IIS 4.0, including some of the crypto stuff, host name-based virtual server support, and debugging tools.  &lt;li&gt;&lt;strong&gt;IIS Rearch&lt;/strong&gt; - My final project (during my first "tour of duty") was known, at the time, as the IIS Rearchitecture Project. We designed a new server architecture to address the reliability and performance issues in IIS 4. The architecture we created consisted of three major components: a kernel-mode HTTP listener, a config/control service, and a generic worker process framework. At the time I left Microsoft, the new server was little more than a proof-of-concept. The IIS group did an amazing job in turning this crude prototype into a real product - IIS 6.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;After leaving Microsoft in March, 2000, I spent the next six years exploring open source software, and making minor contributions to a few projects.&lt;/p&gt; &lt;p&gt;In May 2006 I came back to Microsoft and rejoined the IIS group, working on IIS 7. My first project is implement WebDAV&amp;nbsp;as a native module for IIS 7. Expect future blog entries to cover WebDAV, IIS 7 modules, new OS features in Vista and Longhorn, and maybe even a few non-geek topics.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1492882" width="1" height="1"&gt;</content><author><name>keithmo</name><uri>http://blogs.iis.net/members/keithmo.aspx</uri></author></entry></feed>