6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Windows 2000 operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system with Service Pack 2 (SP2)

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows SharePoint Services 2.0

  • Windows SharePoint Services 3.0

  • Microsoft SharePoint Foundation 2010

  • Microsoft SharePoint Foundation 2013

  • Microsoft SharePoint Server 2016

§ Microsoft SharePoint Server 2019

  • Microsoft SharePoint Server Subscription Edition

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 1.6: The WebDAV server is available as an Internet Server API (ISAPI) extension in Internet Information Services (IIS), Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0.

<2> Section 2.1: Windows XP, Windows Server 2003, Windows 7, and Windows Server 2008 R2 WebDAV clients support only port 80. Support for other ports is available only in Windows Vista and Windows Server 2008. The WebDAV client in Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2 uses port 80 by default for HTTP, and port 443 for HTTP over SSL/TLS. WebDAV servers that run on IIS or on Windows SharePoint Services 3.0 support any port.

<3> Section 2.2.3: Windows SharePoint Services 2.0 does not support this header.

<4> Section 2.2.6: For a Translate header (section 2.2.6) value of FALSE, the WebDAV server included in IIS for Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2 requires WRITE access to return the source of the file.

<5> Section 2.2.8: The WebDAV server in Windows SharePoint Services 3.0 technology checks the product tokens in the User-Agent request header field sent with a request for the presence of "Mozilla" and the absence of either "Office", "FrontPage", or "non-browser" to determine whether to send an HTTP 302 redirect message to a login page when using ASP.NET forms authentication for unauthenticated clients. Otherwise, the server assumes that the client user agent is not a browser and will return either an HTTP 401 "Unauthorized" error to prompt authentication when using Integrated Windows authentication, or an HTTP 403 "Forbidden" error when using ASP.NET forms authentication along with an X-MSDAVEXT_ERROR message ([MS-WDV] section 2.2.3) with an Extended-error value of 917656. This specific error combination is used by the client WebDAV Redirector as a signal to send a Cookies request header along with the request. If the client does not have a Forms Authentication cookie, the server will resend the HTTP 403 error with the X-MSDAVEXT_ERROR message with an Extended-error value of 917656, as a signal to the client that it needs to prompt the user to authenticate.

In the case where the server determines that the client user agent is not a browser, the server additionally checks for the absence of any additional tokens (beyond "non-browser") in the User-Agent request header field. If no other tokens are found, the server assumes that the client is capable of opening documents in a folder only if the user first navigates into the containing folder and it returns HTML markup consistent with that limited capability. Otherwise, the server assumes that the client is capable of opening documents in a folder by using the full path to the document (without requiring explicit navigation into the appropriate folder) and returns HTML markup consistent with that greater capability.

<6> Section 2.2.9.1: Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 only return this property for collections, and only as part of a PROPFIND allprop request, not when requested individually with PROPFIND using a property list. It is always set to 1.

<7> Section 2.2.9.2: Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 only return this property for collections. It is always set to "t".

<8> Section 2.2.9.3: Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 only return this property for collections, and only as part of a PROPFIND allprop request, not when requested individually with PROPFIND using a property list. It is always set to 0.

<9> Section 2.2.10: XML parser limitations in Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 require that the XML namespace aliases that clients send always appear as listed in section 2.2.10. Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 do not recognize any other form of these element names, including fully qualified element names.

<10> Section 2.2.10.1: Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 only return this property for collections, and only as part of a PROPFIND allprop request, not when requested individually with PROPFIND using a property list. It is always set to "t".

<11> Section 2.2.10.9:  SharePoint 2010 cumulative update for June 2013 does not return Z:Win32LastModifiedTime property.

<12> Section 3.1.5: The WebDAV client sends an OPTIONS command to verify server support for extensions.

<13> Section 3.1.5: In Windows XP and Windows Server 2003, the WebDAV client does not support the extensions and, therefore, the new headers are ignored on the OPTIONS response. In Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2 the WebDAV client supports the extensions, and the new headers in the server OPTIONS response are not ignored.

<14> Section 3.1.5.1: While a WebDAV-compliant server could choose to implement WebDAV on some resources and not on others, and allow the client to distinguish this fact by sending an OPTIONS verb to any resource, limitations in the client WebDAV implementation do not allow for a WebDAV server that supports WebDAV on only some resources. To support the client, Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 do not implement this capability, and instead only allow a server-wide setting of the WebDAV capabilities and the WebDAV Protocol: Microsoft Extensions. Therefore, a single OPTIONS verb sent to a server tells a WebDAV client whether these extensions are available server-wide. Due to a defect in Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0, the OPTIONS request is sent with an actual resource location in the Request-URI, and not to the asterisk (*) general location.

<15> Section 3.1.5.4: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 are not compliant with [RFC2518] section 7.4, and do not implement write locks on null resources.

<16> Section 3.1.5.5: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 are not compliant with [RFC2518] section 9.4 and do not implement the If header except as specified in this extension.

<17> Section 3.1.5.5: The If-None-Match request header field is used with a method to make it conditional. When a client has obtained one or more entities from a resource, it can verify that none of those entities is current by including a list of their associated entity tags in the If-None-Match header field. The purpose of this feature is to allow efficient updates of cached information with a minimum amount of transaction overhead, and to prevent a method such as PUT from inadvertently modifying an existing resource when the client believes that the resource does not exist.

<18> Section 3.1.5.6: These dead properties are used by the Client WebDAV Redirector to store implementation-specific file attributes in these properties, but Windows SharePoint Services accepts any value for these properties. Windows SharePoint Services 3.0 provides a default value for the Z:Win32FileAttributes property (section 2.2.10.7) for certain collections on the server that are hidden and not normally accessible, if no value has been set by the client. The Windows SharePoint Services 3.0 server provides a default value of "00000016" (which is interpreted by the Client WebDAV Redirector as a combination of HIDDEN and SYSTEM attributes) for a directory that begins with an underscore (_). The Windows SharePoint Services 3.0 server provides a default value of "00000012" (which is interpreted by the Client WebDAV Redirector as the HIDDEN attributes) for a directory that is contained within a Document Library and is named "Forms".

<19> Section 3.1.5.6: This dead property is supported by Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010, and SharePoint Foundation 2013 but is not used by the Client or by any version of Microsoft Office. When this property is set with a PROPPATCH command, Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010, and SharePoint Foundation 2013 parse the input as an unsigned decimal string and store it internally in a signed 32-bit integer. Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010, and SharePoint Foundation 2013 return this property in a PROPFIND request as a signed decimal string. SharePoint Server 2016 stores the input internally in an unsigned 64-bit integer and returns this property in a PROPFIND request as an unsigned decimal string.

<20> Section 3.2.5.1: Windows SharePoint Services 3.0 maintains a state flag indicating whether it should advertise its extended capabilities in response to an OPTIONS request. If the state flag is not set, Windows SharePoint Services returns the usual headers returned by a WebDAV-compliant server, as specified in [RFC2518], including the Allow header with the GETLIB method (section 3.1.5.2), but it will not send the MS-WebDAV-Extension, MS-Author-Via (section 2.2.7), Document Management Server (section 2.2.1), or Microsoft Office Web Server headers.

<21> Section 3.2.5.1: The WebDAV server in Windows SharePoint Services 3.0 technology checks whether the user agent header string sent with an OPTIONS request is "Microsoft Data Access Internet Publishing Provider". In this case, the server sends an additional Microsoft Office Web Server header of the following form with content of "5.0_Collab" in the OPTIONS response.

  
 MicrosoftOfficeWebServer: 5.0_Collab

Windows SharePoint Services 3.0 server does not send this header in response to a client sending any other user agent header string. Sending this additional header overcomes a defect in the Microsoft Data Access Internet Publishing Provider (MSDAIPP) component in versions of the Client prior to Windows Vista, which otherwise might not recognize the presence of WebDAV Protocol client extensions in the server and thus fall back to basic WebDAV behavior. Adding this header allows this component to optimize its behavior to take advantage of WebDAV Protocol client extensions.

<22> Section 3.2.5.1: If the WebDAV server in Windows SharePoint Services 3.0 technology detects that the user agent string sent with an OPTIONS request is "Microsoft Data Access Internet Publishing Provider", then the server does not send the Public-Extension header with the http://schemas.microsoft.com/repl-2 schema option, to overcome a defect in the Client MSDAIPP component in Windows XP and Windows Server 2003.

<23> Section 3.2.5.3.1:  SharePoint Foundation 2013 will respond an HTTP 401 "Unauthorized" error.

<24> Section 3.2.5.3.1: WebDAV clients in Windows XP and Windows Server 2003 may attempt to walk the resource hierarchy for a particular resource, even when elements of that hierarchy are nonexistent or otherwise not available for access, such as when a user has permissions to access resources at a certain level in the hierarchy, but not above that level. Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 report the existence of any such inaccessible resource that is requested, and report whether a resource is a directory (that is, a resource collection) to enable WebDAV clients to succeed. This behavior has the side effect of allowing the user to explicitly browse with the WebDAV client to a nonexistent directory, even though all user actions, such as listing the directory contents or putting a file in that directory, will fail.

<25> Section 3.2.5.3.3: In versions of Windows prior to Windows Server 2003, the Client WebDAV Redirector was not aware of WebDAV locks and the related properties for lock discovery and reporting. If a DAV:activelock property is returned by a PROPFIND to these older versions of the Client, the client appends the value returned in the DAV:href element within the DAV:locktoken to the name of the resource. Because this results in an incorrect name that is unusable for further navigation, Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Foundation 2010 and SharePoint Foundation 2013 perform this check before sending a PROPFIND response to the affected Clients and modifies its output accordingly.

<26> Section 3.2.5.4: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 are not compliant with [RFC2518] section 7.4 and do not implement write locks on null resources.

<27> Section 3.2.5.5: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 are not compliant with [RFC2518] section 9.4 and do not implement the If header except as specified in this extension.

<28> Section 3.2.5.5: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 do not check for the existence of multiple ResourceTag state tokens or for other allowed list combinations that include ResourceTag state tokens.

<29> Section 3.2.5.6: Windows SharePoint Services 2.0 and Windows SharePoint Services 3.0 do not allow setting arbitrary dead properties other than ones listed as supported for WebDAV clients.

<30> Section 4.3.4: Windows SharePoint Services 3.0 returns two ResourceTag headers (section 2.2.4) in response to any PUT request; one containing the ResourceTag value passed in by the WebDAV client's request in an If header and an additional ResourceTag header, which contains the updated ResourceTag value. WebDAV clients do not rely on the ResourceTag values returned in the response to a PUT request to make any subsequent changes to the resource.