WebDAV
HTTPを拡張し、Webサーバ上のファイルやフォルダを遠隔から操作するためのプロトコルである。資源の情報の取得や移動、ロックなどを行い、複数の利用者による共同作業を支える。
イマシルちゃんの解説
WebDAVは、Webサーバ上のファイルを遠隔から操作できるようにHTTPを拡張したプロトコルだよ。
対応するソフトを使えば、ネット上のフォルダにファイルを置いたり、名前を変えたり、削除したりできるんだ。
ファイルの一覧を取得したり、更新日時などのプロパティを調べたりできるから、保存先の状況も確かめられるよ。
共同作業では、編集中のファイルにロックをかけて、ほかの人の書き込みとぶつかるのを防ぐこともできるんだ。
こうした操作の手順を共通にすることで、離れた場所から同じファイルを管理しやすくなるよ。
この解説はわかりやすかったですか?
より深い解説
定義
WebDAV(Web-based Distributed Authoring and Versioning)は、RFC 4918などで定められた、HTTP/1.1を拡張して、Webサーバ上の資源(ファイルやフォルダ)を遠隔から共同で編集・管理できるようにしたプロトコルである。HTTPの上で動くため、通常のWebと同じポート(80、443)で通信でき、ファイアウォールを通りやすい。
追加されたメソッド
| メソッド | 内容 |
|---|---|
| PROPFIND | 資源のプロパティ(作成日時、サイズなど)や、フォルダの中身の一覧を取得する |
| PROPPATCH | プロパティを変更する |
| MKCOL | コレクション(フォルダ)を作成する |
| COPY | 資源をコピーする |
| MOVE | 資源を移動する(名前の変更にも使う) |
| LOCK / UNLOCK | 資源をロックして、ほかの利用者による同時の書き換えを防ぐ/解除する |
ファイルの取得にはGET、アップロード(作成・上書き)にはPUT、削除にはDELETEと、HTTPのメソッドもそのまま使う。
バージョン管理
WebDAVの拡張であるDeltaV(RFC 3253)では、資源のバージョン管理(チェックイン、チェックアウト、版の履歴の参照など)を行える。
使われている場面
| 場面 | 例 |
|---|---|
| オンラインストレージ | クラウドストレージやファイル共有サービスを、OSのフォルダとして接続する |
| 予定表・連絡先の同期 | WebDAVを拡張した CalDAV(予定表)、CardDAV(連絡先) |
| 文書管理 | 社内のファイルサーバを、Web経由で利用する |
| ソースコード管理 | Subversion の通信方式の1つ |
ほかの技術との区別
| 技術 | 内容 |
|---|---|
| WebDAV | HTTPを拡張したプロトコルで、サーバ上のファイルの参照・作成・削除やバージョン管理を行う |
| SOAP | XMLのメッセージで、ソフトウェア同士が通信し、分散したアプリケーションを連携させる(Webサービス) |
| Webメール | Webアプリケーションが IMAP などでメールサーバにアクセスし、ブラウザでメールを読み書きする |
| FTP | ファイル転送専用のプロトコル。ブラウザで「ftp://」のURLを開いてダウンロードできた(現在の主要なブラウザは対応を終了) |
表示形式や通信保護との役割の違い
CSS(Cascading Style Sheets)は、文書の色、文字、配置などの表示方法を指定するスタイルシート言語である。表示用の定義を記述すること自体は、遠隔のファイルを編集するための通信プロトコルではない。
これらは組み合わせて使える。たとえば、暗号化された接続で、スタイルシートのファイルをサーバへ保存する場合でも、通信の保護、資源の操作、ファイルの中身は別の役割である。