WebDAV

出典: Wikipedio

2009年9月23日 (水) 20:35時点における ArthurBot (会話) による版
(差分) ←前の版 | 最新版を表示 (差分) | 次の版→ (差分)

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をサポートしている<ref>Windows 2000 ホーム ‐ Internet Information Services 5.0 技術概要</ref>。

Apache HTTP Server

バージョン1.3から既存のApache HTTP Serverに追加する形でのWebDAVモジュールが存在していた<ref>mod_dav: a DAV module for Apache</ref>。バージョン2.0からは標準搭載され<ref>Apache 2.0 の新機能の概要</ref>、設定のみで利用できる。

Ruby on Rails

WebDAVサーバ機能を実現する追加モジュール<ref>WebDAV in Ruby on Rails</ref>が存在する。

04WebServer

2003年10月1日公開のバージョン0.40から実装されている。

クライアント

Windows

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

Windows XP SP2以降でBasic認証を行うには、レジストリの設定を変更する必要がある<ref>Windows シェル コマンドを使って、または エクスプローラ表示 を使って、 Windows SharePoint Services 3.0 または Windows SharePoint Services 2.0 にドキュメントライブラリに接続できません。</ref>。HTTPSの場合、Windowsエクスプローラではネットワークドライブとして割り当てることはできない。また、Windows Vistaの64bit版ではWebDAV機能は動作しない。

その他、Windows用のクライアントとして、CarotDAV<ref>麗の小屋 - WebDAV Client CarotDAV -</ref>やNetDrive<ref>Solution Box Inc.</ref>などがある。

Mac OS X

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

UNIX

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

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

その他

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

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

その他

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

脚注

<references/>

外部リンク

cs:WebDAV da:WebDAV de:WebDAV en:WebDAV es:WebDAV fi:WebDAV fr:WebDAV it:Web-based Distributed Authoring and Versioning lt:WebDAV nl:WebDAV pl:Web-based Distributed Authoring and Versioning pt:WebDAV ru:WebDAV sr:WebDAV sv:WebDAV uk:WebDAV vi:WebDAV

個人用ツール