WebDAV

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

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

概要

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

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

特徴

Webサーバ等でコンテンツのアップロードや更新を行う際に、FTPscpのような別のサービス・プロトコルを使うことなく、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をサポートしている[1]
Apache HTTP Server
バージョン1.3から既存のApache HTTP Serverに追加する形でのWebDAVモジュールが存在していた[2]。バージョン2.0からは標準搭載され[3]、設定のみで利用できる。
Ruby on Rails
WebDAVサーバ機能を実現する追加モジュール[4]が存在する。
04WebServer
2003年10月1日公開のバージョン0.40から実装されている。

クライアント

Windows

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

Windows XP SP2以降でBasic認証を行うには、レジストリの設定を変更する必要がある[5]。HTTPSの場合、Windowsエクスプローラではネットワークドライブとして割り当てることはできない。また、Windows Vistaの64bit版ではWebDAV機能は動作しない。

その他、Windows用のクライアントとして、CarotDAV[6]やNetDrive[7]、TeamFileクライアント[8]などがある。

Mac OS X

Finderは、WebDAVクライアント機能を内蔵している。アップルが運営するストレージサービスiDiskへのアクセスには、WebDAVを利用している[9]

UNIX

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

cadaver[10]は、キャラクタユーザインタフェースを持つWebDAVクライアントである。

その他

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

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

WebDAVを使用した規格

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

その他

ハロウィーン文書内でのHTTP-DAV[13][14]とは、WebDAVのことを指している。

脚注

  1. Windows 2000 ホーム ‐ Internet Information Services 5.0 技術概要
  2. mod_dav: a DAV module for Apache
  3. Apache 2.0 の新機能の概要
  4. WebDAV in Ruby on Rails
  5. Windows シェル コマンドを使って、または エクスプローラ表示 を使って、 Windows SharePoint Services 3.0 または Windows SharePoint Services 2.0 にドキュメントライブラリに接続できません。
  6. 麗の小屋 - WebDAV Client CarotDAV -
  7. Solution Box Inc.
  8. チームファイル
  9. .Mac Services: iDisk についてよくお問い合わせいただく質問と解答 (FAQ) - 4/5
  10. cadaver - command-line WebDAV client
  11. HTTP::DAV
  12. PyDAV
  13. Halloween Document 10
  14. Halloween I:Japanese (山形浩生による日本語訳)

外部リンク

テンプレート:URI scheme