WebDAV

WebDAV（Web-based Distributed Authoring and Versioning、ウェブダブ）はHTTPを拡張したもので、Webサーバ上のファイル管理を目的とした分散ファイルシステムを実現するプロトコルである。

 概要 
WebDAVは、Webサーバに対して直接ファイルのコピーや削除を行ったり、ファイル所有者や更新日時などのファイル情報を取得・設定するといった機能を持つ分散ファイルシステムで、HTTP 1.1を拡張したプロトコルで実現される。元々はファイルのバージョン管理機能も内包していたが、後に  で定義されたDelta-Vに分離された。

マイクロソフトによって最初に開発され、1999年2月に  が発表された。2007年6月に発表された  が2008年1月現在最新の定義である。

 特徴 
Webサーバ等でコンテンツのアップロードや更新を行う際に、FTPやscpのような別のサービス・プロトコルを使うことなく、HTTPだけで全てのコンテンツ管理を完結できる。また、HTTPの拡張のみによって実装されているため、ファイアウォールによって既存のファイル転送サービスが利用できない環境や、HTTPプロキシを経由した環境でも利用できる。

 設計 
WebDAVには、元となるHTTP 1.1に加え次のメソッドが存在する。HTTPのヘッダ部でメソッドおよびURIを指定する。ボディ部では、クライアント・サーバ双方ともXMLを用いる。
 PROPFIND指定したURIが示す資源の属性を取得する。具体的には、要求する属性をクライアントがWebサーバに送信すると、サーバはそれに対応した属性値を返す。また、その資源の属性全てを取得することも出来る。
 PROPPATCH指定したURIが示す資源の属性の設定や削除を行う。
 MKCOL指定したURIの場所に新たな資源を作成する。
 COPY指定したURIが示す資源およびその属性値を別のURIにコピーする。
 MOVE指定したURIが示す資源およびその属性値を別のURIに移動する。
 LOCK指定したURIが示す資源のファイルロックを設定する。共有ロックと排他ロックの二種類が利用できる。
 UNLOCK指定したURIが示す資源のロックを解除する。

 実装 
 Webサーバ 
 Internet Information Services
 Windows ServerにおけるWebサーバInternet Information Servicesは、バージョン5.0からWebDAVをサポートしているWindows 2000 ホーム ‐ Internet Information Services 5.0 技術概要。
 Apache HTTP Server
 バージョン1.3から既存のApache HTTP Serverに追加する形でのWebDAVモジュールが存在していたmod_dav: a DAV module for Apache。バージョン2.0からは標準搭載されApache 2.0 の新機能の概要、設定のみで利用できる。
 Ruby on Rails
 WebDAVサーバ機能を実現する追加モジュールが存在する。
 04WebServer
 2003年10月1日公開のバージョン0.40から実装されている。

 クライアント 
 Windows 
Windows 98以降は「Webフォルダ」という名称のWebDAVクライアント機能を内蔵し、ネットワーク上に置かれたファイルとしてアクセスできる。

Windows XP SP2以降でBasic認証を行うには、HTTPS (SSL) での接続が必要であり、HTTP接続ではレジストリの設定を変更する必要があるWindows シェル コマンドを使って、または エクスプローラ表示 を使って、 Windows SharePoint Services 3.0 または Windows SharePoint Services 2.0 にドキュメントライブラリに接続できません。。

Windows VistaではWebDAV機能は動作しない。「Web フォルダのソフトウェア更新プログラム: KB907306」を適用すれば32bit版に限り利用可能であったが、これも2022年現在は利用できない。

Windows 7以降は再び標準で利用可能となっている。

2023年11月にマイクロソフトからWebDAV機能は非推奨とされ、標準では利用不可となった。

その他、Windows用のクライアントとして、CarotDAV麗の小屋 - WebDAV Client CarotDAV -やNetDriveSolution Box Inc.、TeamFileクライアントチームファイルなどがある。

 OS X 
Finderは、WebDAVクライアント機能を内蔵している。Appleが運営するストレージサービスiDiskへのアクセスには、WebDAVを利用している.Mac Services: iDisk についてよくお問い合わせいただく質問と解答 (FAQ) - 4/5。

 UNIX 
GNOMEにおいてファイルアクセス抽象化機能を提供するGnomeVFSは、WebDAVクライアント機能を備えている。GNOMEのファイルなどファイルアクセスにGnomeVFSを用いているアプリケーションは、シームレスにWebDAVサーバ上のファイルにアクセスできる。

cadavercadaver - command-line WebDAV clientは、キャラクタユーザインタフェースを持つWebDAVクライアントである。

 その他 
PerlにおけるHTTP::DAVHTTP::DAV、PythonのPyDAVPyDAVなどのように、各種スクリプト言語向けのクライアントライブラリが複数存在する。

Subversionやarchでは、リモートリポジトリへのアクセスプロトコルにWebDAVが利用できる。

 WebDAVを使用した規格 
 CalDAVカレンダーの情報を交換するための規格。
 CardDAVアドレス帳の情報を交換するための規格。

 その他 
ハロウィーン文書内でのHTTP-DAVHalloween Document 10Halloween I:Japanese (山形浩生による日本語訳)とは、WebDAVのことを指している。

 脚注 

 外部リンク 
 WebDAV日本語情報ページ
 WebDAV-jpメーリングリスト
 WebDAV Testing Server 接続テスト用に公開されているWebDAVサーバ。

2518
Category:HTTP