メインコンテンツまでスキップ

1. Introduction (序論)

本文書は、クライアントがリモートでWebコンテンツのオーサリング操作を実行できるようにする、HTTP/1.1プロトコルの拡張について説明します。この拡張は、以下の操作を提供する、一貫したメソッド (Methods)、ヘッダー (Headers)、リクエストエンティティボディ形式 (Request Entity Body Formats)、およびレスポンスエンティティボディ形式 (Response Entity Body Formats) のセットを提供します:

プロパティ (Properties): Webページに関する情報(著者、作成日など)を作成、削除、クエリする機能。

コレクション (Collections): ドキュメントのセットを作成し、階層的なメンバーシップリスト(ファイルシステムのディレクトリリストのようなもの)を取得する機能。

ロック (Locking): 複数の人が同時にドキュメントを操作することを防ぐ機能。これにより、「更新の損失問題 (Lost Update Problem)」を防ぎます。この問題は、最初のある著者が変更を書き込み、次に別の著者が他の著者の変更をマージせずに変更を書き込むことで、変更が失われることを指します。

名前空間操作 (Namespace Operations): サーバーにWebリソースをコピーおよび移動するように指示する機能。これらの操作は、URLからリソースへのマッピングを変更します。

これらの操作の要件と根拠は、関連文書である「World Wide Web分散オーサリングおよびバージョン管理プロトコルの要件 (Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web)」[RFC2291] に記載されています。

本文書は、[RFC2291] で提案されているバージョン管理操作を規定していません。その作業は、別の文書「WebDAVのバージョン管理拡張 (Versioning Extensions to WebDAV)」[RFC3253] で行われました。

以下のセクションでは、さまざまなWebDAV抽象概念について詳細に説明します: リソースプロパティ (Resource Properties, 第4節)、リソースのコレクション (Collections of Resources, 第5節)、一般的なロック (Locks, 第6節)、および特に書き込みロック (Write Locks, 第7節)。

これらの抽象概念は、WebDAV固有のHTTPメソッド (第9節) と、WebDAVメソッドで使用される追加のHTTPヘッダー (第10節) によって操作されます。WebDAVにおけるHTTPリクエストとレスポンスの処理に関する一般的な考慮事項は、第8節に記載されています。

HTTP/1.1が提供するステータスコードは、WebDAVメソッドで発生するほとんどのエラー状態を記述するのに十分ですが、既存のカテゴリにうまく当てはまらないエラーもあります。本仕様は、WebDAVメソッド用に開発された追加のステータスコード (第11節) を定義し、WebDAVで使用される既存のHTTPステータスコード (第12節) について説明します。一部のWebDAVメソッドは多数のリソースに対して操作する可能性があるため、マルチステータスレスポンス (Multi-Status Response, 第13節) が導入され、複数のリソースのステータス情報を返すようになりました。最後に、このバージョンのWebDAVは、エラーレスポンスボディに事前条件と事後条件 (Precondition/Postcondition, 第16節) XML要素を導入しています。

WebDAVは、プロパティ名と一部の値にXML ([REC-XML]) を使用し、また複雑なリクエストとレスポンスをマーシャリングするためにXMLを使用します。本仕様には、マーシャリングで使用されるすべてのプロパティ (第15節) およびすべての他のXML要素 (第14節) のDTDとテキスト定義が含まれています。WebDAVには、後方互換性のある方法でWebDAV XMLマーシャリングを拡張するためのいくつかの特別なルール (第17節) が含まれています。

本仕様の最後には、リソースが本仕様に準拠することの意味 (第18節)、国際化サポート (第19節)、およびセキュリティ (第20節) に関するセクションがあります。