Claims
- 1. A Web Distributed Authoring and Versioning (WebDAV) method of associating resource name extensions and content types comprising:
receiving a WebDAV request that specifies a resource name extension and a content type; ascertaining whether current mapping scenarios that maps resource name extensions to content types is adequate to map the specified name extension to its specified content type; and creating a new mapping scenario that maps the specified name extension to its specified content type if the current mapping scenarios are not sufficient to map the specified name extension to its specified content type.
- 2. The method of claim 1, wherein said creating comprises setting a content-type property for a resource that is associated with the resource name extension.
- 3. The method of claim 1, wherein:
the ascertaining comprises determining whether a map exists for the specified content type and name extension; and the creating of the new mapping scenario comprises creating a new map for a namespace that hosts a resource specified by the WebDAV request.
- 4. The method of claim 3, wherein said creating comprises setting a content-type property for a resource that is associated with the resource name extension.
- 5. The method of claim 1, wherein:
the ascertaining comprises determining whether the specified resource name extension has an existing content type associated with it; and the creating of the new mapping scenario comprises creating a new entry to an existing map for that resource name extension and the specified content type, if the specified resource name extension does not have an existing content type associated with it.
- 6. The method of claim 1, wherein:
the ascertaining comprises determining whether an existing map specifies a different content type than the content type that is specified for a specified resource name extension in the WebDAV request; and the creating of the new mapping scenario comprises creating a new map for an entire namespace that is associated with the WebDAV request that contains the mapping for the specified resource extension and the specified content type.
- 7. The method of claim 6, wherein said creating comprises setting a content-type property for a resource that is associated with the resource name extension.
- 8. A computer readable medium having computer-executable instructions thereon which, when executed by a computer perform the following steps:
receiving a WebDAV request that specifies a resource name extension and a content type; ascertaining whether current mapping scenarios that maps resource name extensions to content types is adequate to map the specified name extension to its specified content type; and creating a new mapping scenario that maps the specified name extension to its specified content type if the current mapping scenarios are not sufficient to map the specified name extension to its specified content type, the creating comprising setting a content-type property for a resource that is associated with the resource name extension.
- 9. A Web Distributed Authoring and Versioning (WebDAV) method of associating resource name extensions and content types comprising:
receiving a WebDAV PUT request that specifies a resource name extension and a content type; checking a plurality of multi-purpose internet mail extension (MIME) maps to ascertain whether any of the MIME maps are adequate to map the specified resource name extension and content type contained in the WebDAV PUT request; and creating at least a portion of a new MIME map if the MIME maps that are checked are found to be inadequate to map the specified resource name extension and content type contained in the WebDAV PUT request.
- 10. The method of claim 9, wherein said creating comprises setting a content-type property for a resource that is associated with the resource name extension.
- 11. The method of claim 9, wherein:
the checking comprises ascertaining whether a MIME map exists for the specified content type and resource name extension; and the creating comprises creating a new MIME map for a server namespace that hosts a resource that is specified in the WebDAV PUT request.
- 12. The method of claim 9, wherein:
the checking comprises ascertaining whether the specified resource name extension has an existing content type associated with it; and the creating comprises creating a new entry to a MIME map for the specified resource name extension and content type if the specified resource name extension does not have an existing content type associated with it.
- 13. The method of claim 9, wherein:
the checking comprises ascertaining whether an existing MIME map specifies a different content type than one that is specified by the PUT request for a given resource name extension; and the creating comprises creating a new MIME map for an entire namespace that is associated with the WebDAV PUT request that contains the mapping for the specified resource extension and the specified content type.
- 14. A method of processing HTTP requests in a system having virtual roots comprising:
segregating a namespace to have different physical locations, the physical locations being associated with different virtual roots of the namespace; defining a plurality of rules that relate to operating on resources in the different physical locations; receiving a Web Distributed Authoring and Versioning (WebDAV) request from a client that, when implemented, can traverse a plurality of the different physical locations that are associated with the virtual roots of the namespace; ascertaining whether implementation of the WebDAV request would violate one or more of the rules; and returning an appropriate message to the client if implementing the WebDAV request would violate one or more of the rules.
- 15. The method of claim 14, wherein one of the rules is associated with different administrative properties that can be associated with the physical locations.
- 16. The method of claim 14, wherein one of the rules is associated with different security settings that can be associated with the physical locations.
- 17. The method of claim 14, wherein one of the rules is associated with different authentication models that can be associated with the physical locations.
- 18. The method of claim 14, wherein one of the rules is violated if: (1) there is an ISAPI extension that applies to a resource other than an ISAPI extension referred to by the WebDAV request, and (2) access to a source that renders data associated with the resource is not requested.
- 19. The method of claim 14, wherein one of the rules is violated if there is a wildcard scriptmapping that applies to subsequent resources and is not applicable to a resource that is referred to by the WebDAV request.
- 20. A method of processing WebDAV requests comprising:
receiving a request from a client comprising one of a MOVE or a COPY request, the request being intended to operate upon a resource located at a source namespace; operating upon the resource responsive to the request sufficient to either move or copy the resource to a destination namespace, the destination namespace having one or more set administrative attributes; and maintaining the one or more set administrative attributes of the destination namespace after said operating.
- 21. The method of claim 20, wherein said operating comprises moving or copying a MIME map that is associated with the resource from the source namespace to the destination namespace.
- 22. The method of claim 20, wherein the source namespace has one or more set administrative attributes, and further comprising maintaining the source namespace's set administrative attributes after said operating.
- 23. A method of processing a WebDAV request comprising:
receiving a WebDAV request from a client; evaluating the request to determine whether there is a conflict between a child virtual root of a namespace that is associated with the request and a physical storage location; and preparing a response to the request that is associated with resources that are associated with the child virtual root of the namespace and not the physical storage location if there is a conflict.
- 24. The method of claim 23, wherein a conflict exists if the physical storage location is accessible via a URL that is also a child virtual root.
- 25. The method of claim 23, wherein the WebDAV request is a PROPFIND request.
- 26. The method of claim 23, wherein the WebDAV request is a PROPFIND request, and wherein said preparing comprises enumerating resources of the child virtual root if there is a conflict.
- 27. A method of processing an HTTP request comprising:
receiving a request from a client, the request containing an HTTP verb; determining whether an ISAPI extension needs to be invoked to process the request based upon the HTTP verb contained in the request; and invoking the ISAPI extension if it is determined that the ISAPI extension needs to be invoked based upon the HTTP verb contained in the request.
- 28. The method of claim 27, wherein:
said determining comprises referencing a script map that contains an association of one or more HTTP verbs and at least one ISAPI extension that is associated with the one or more HTTP verbs; and said invoking comprises invoking an associated ISAPI extension if the verb that is contained in the request appears in the script map.
- 29. The method of claim 27 further comprising:
maintaining an association between one or more HTTP verbs and one or more respective ISAPI extensions; and said determining comprises checking the association to determine whether the verb that is contained in the request is associated with any ISAPI extensions that are maintained by the association.
- 30. The method of claim 29, wherein said association is a script map.
- 31. A data structure for use in processing HTTP requests comprising:
an HTTP verb portion for containing one or more HTTP verbs; and an ISAPI extension portion for containing one or more ISAPI extension references for ISAPI extensions that are associated with HTTP verbs that are contained in the HTTP verb portion, the ISAPI extensions being executable in connection with client requests that contain an associated verb that appears in a corresponding HTTP verb portion.
- 32. The data structure of claim 31, embodied as a script map.
- 33. A system for processing HTTP requests comprising:
a server configured to handle HTTP GET requests; a WebDAV tool configured to handle HTTP requests other than GET requests; and a request analysis tool configured to pass client requests that contain the HTTP verb GET to the server, and to pass requests that contain other HTTP verbs to the WebDAV tool.
- 34. The system of claim 33, wherein the request analysis tool is further configured to pass client requests based upon whether there appears to be state associated with the request.
- 35. The system of claim 33, wherein the request analysis tool is further configured to pass client requests based upon whether the request is a request for data or a request for the source of the data.
- 36. A system configured to associate resource name extensions and content types comprising:
a server configured to receive HTTP requests; a memory operably associated with the server and configured to hold a plurality of mapping scenarios for mapping resource name extensions to associated content types; and a processor configured to create a new mapping scenario for a specified name extension that maps to a specified content type if the mapping scenarios in the memory are not sufficient to map the specified name extension to the specified content type.
- 37. The system of claim 36, wherein the processor is configured to set a content-type property for a resource that is associated with the resource name extension.
- 38. A system for processing HTTP requests that supports virtual roots comprising:
a server configured to receive and process HTTP requests; a memory operably associated with the server; a plurality of rules in the memory for use by the server in evaluating WebDAV requests that are received from a client, the rules relating to how resources that might be located at different physical locations that are associated with individual virtual roots of a specified namespace are to be operated upon; the server being configured to process client requests and evaluate the requests against the plurality of rules, and to return an appropriate message to the client if operation on a resource associated with the specified namespace would violate one of the rules.
- 39. The system of claim 38, wherein one of the rules is associated with different administrative properties that can be associated with the physical locations.
- 40. The system of claim 38, wherein one of the rules is associated with different authentication models that can be associated with the physical locations.
- 41. The system of claim 38, wherein one of the rules is violated if: (1) there is an ISAPI extension that applies to a resource other than an ISAPI extension that is referred to by the request, and (2) access to a source that renders data associated with the resource is not requested.
RELATED APPLICATION
[0001] This application is a divisional application and claims priority to U.S. patent application Ser. No. 09/360,776, filed Jul. 26, 1999, the disclosure of which is incorporated by reference.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09360776 |
Jul 1999 |
US |
Child |
10382943 |
Mar 2003 |
US |