WebDAV
HTTPを拡張し、Webサーバ上のファイルの参照、作成、更新、削除や、ロック、バージョン管理などを行えるようにしたプロトコル。
イマシルちゃんの解説
Webサイトって、ふつうは「見る」だけだよね。
WebDAVを使うと、Webサーバを「ネット上の共有フォルダ」みたいに使えるんだ。
パソコンのフォルダと同じ感覚で、ファイルを置いたり、名前を変えたり、消したりできるよ。
しかも、「今、ぼくが編集中だから触らないでね」っていうロックもかけられるんだ!
より深い解説
定義
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を開いてダウンロードできた(現在の主要なブラウザは対応を終了) |