
次世代プロトコルWebDAVの可能性
− 技術仕様徹底解説 −
これから、このWebDAVの技術仕様からLinuxでのWebDAVサーバ構築までを解説する。
宮本 久仁男<kmiya@coe.nttdata.co.jp>
NTTデータ COEシステム本部
システム技術開発部第三技術開発担当
2001/9/22
これまで、Webといえば読む動作が大半であった。CGIをはじめとするさまざまな仕組みを準備することによって、特定の条件下においてファイルやデータをサーバに送り込むことはできたものの、決して「自由に」ということにはならなかった。
また、Webページの更新にしてもFTPなどの古いプロトコル経由で転送しなければならない。それらのプロトコルにもセキュリティ上の問題が発生することがしばしばあったし、クライアント/サーバ間の接続にも気を使うことが多かった。
しかし、WebDAVの規格ができてからは、この様子が変わってくる。「読むだけ」から「書くこと」のできるプロトコルへとHTTPが拡張され、対応するツールも次々に開発されつつある。既存のツールをWebDAVに対応させるソフトウェアも増えている。本稿では、まずWebDAVの概要を述べ、その後に実際に使うための方法を解説させていただくこととする。
WebDAVとは
WebDAV(Web-based Distributed Authoring and Versioning)は、RFC 2291「WWWにおける分散オーサリングおよびバージョン管理プロトコルの要件」(注1)で提唱され、RFC 2518「分散オーサリングのためのHTTP拡張 --WEBDAV」(注2)で具体的に定義されているプロトコルの名称である。つまり、ネットワークによる分散環境下でのWebコンテンツなどの編集(Authoring)やリビジョン管理(Versioning)を行うことを目的に規定されたプロトコルである。
| 注1:Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web |
| 注2:HTTP Extensions for Distributed Authoring |
WebDAVには、その名称から
- HTTP 1.1の拡張
- リモートファイル操作(Authoring)
- バージョン管理(Versioning)
というイメージがある。しかし、上記RFCが記述している範囲はあくまで「HTTP Extensions for Distributed Authoring」となっているように、HTTPの拡張によるリモートファイル操作までで、その内容にはバージョン管理についての規定がないことが分かる。WebDAVが、まずはリモートファイル操作についての実装からのアプローチであるというところだろう。
RFC 2518の著者を見ると分かるが、Microsoft、Netscape、Novellの技術者が名を連ねている。また、MicrosoftからリリースされているInternet Information Service(IIS) 5.0(編注) でWebDAVの機能が利用できる。このように、WebDAVは実装も含めてMicrosoftがリードしてきた規格ではあるが、内容は別にMicrosoft製品に特化したものではない。また、オープンソースのWebサーバソフトウェアApacheで利用可能なDAVモジュール(mod_dav)もリリースされているし、今後リリースされる予定のApache 2.0には、WebDAVサーバとしての機能が同梱される予定である(Apache 2.0については「Apache 2.0の新機能とその実力」参照)。
| 編注:IISは、4.0までがInternet Information「Server」、5.0からはInternet Information「Service」となっている。 |
■WebDAVのアドバンテージ
では、WebDAVにはどのような利点があるのだろうか? まずはそれを明らかにしておこう。
1.シンプルである
HTTPベースのサービスであるため、シンプルそのもの。例えば、図1に示すようにWebコンテンツアップロードをWebDAVで実施することが可能になる。
![]() |
| 図1 WebDAV対応のクライアント/サーバを使うことにより、コンテンツのアップロードも可能になる |
2.セキュリティの向上が比較的容易
1と重複する部分ではあるが、WebDAVはHTTPの拡張である。従って、Webサーバのセキュリティを確保・向上させるときの考え方の大半が流用可能である。図2に示すように、FTPやSMBをインターネット経由で利用する場合と比較すると、少なくともサーバに対する接続許可を与えるポート番号は少なくて済む。
![]() |
| 図2 HTTP以外のプロトコルも併用すると、多くのポートを開放する必要がある |
ただし、サーバに対するデータの書き込みを可能としているプロトコルなので、この部分に注意を払ったサーバサイドの設定は必要となる。
また、OSI 7階層モデルにおけるレイヤ4(セッション層)以上の実装になるので、レイヤ3(TCP/IP)以下のレイヤがセキュアになれば、その上のレイヤは必然的にセキュアになる。
3.特定のOSやサーバ実装に依存しない
WebDAVはあくまでHTTPの拡張であり、その中に特定のOSや機種に依存する特別な仕組みはなく、複数のOS上での実装がすでに存在する(図1)。WebDAVサーバは、WebDAVクライアントからのアクセスを特段の区別なく受け付ける(注3)。
| 注3:ただし、リソースの名前(ファイル名)に使われる文字コードなどはクライアント依存の部分が大きく、稿あらためて解説するmod_encodingではクライアントの種類によって受け付ける文字コードを決定するようにしている。 |
■ほかのプロトコルとの相違
リモートへのファイル転送という観点からすると、FTPやSMB(Samba)の利用が思い浮かぶ。それらのプロトコルを利用した場合とWebDAVを利用した場合では、どこがどう違うのかを説明しよう。
1.FTPとの相違
FTPは、制御コネクションとデータコネクションという2つのコネクションについて気を使う必要がある。また、そのコネクションの方向(対クライアント方向のデータコネクションおよび対サーバ方向のデータコネクション)も考慮しなければならない。
WebDAVであれば、HTTPの機能とサーバの通信ポートのみに注意すればよい。
また、DAV準拠クラス(後述)にもよるが、ロック(後述)が定義されているため、複数の端末から同時にコンテンツを書き込んだ際に不整合が生じるといった事態をある程度防ぐことが可能である。
2.SMBとの相違
SMBは、Windowsネットワーク上で使われるプロトコルである。詳細はSMBを取り扱う専門記事やSambaの技術解説に譲るが、シーケンスが複雑なうえ、実装によってはセキュリティホールやトラブルもある。また、図3に簡単な流れを示すが、ファイルのコピーを行うに当たり、SMBではいったんクライアントにファイルの内容を取り込んでからコピーを実施するため、ネットワークに相応のトラフィックが発生する。WebDAVのCOPYメソッドを使用する場合は、すべてサーバサイドでの処理になるのでトラフィックはほとんど発生しない。
![]() |
| 図3 プロトコルによるファイルコピーの動作の違い。SMBではより多くのトラフィックが発生することが分かる |
|
1/2
|
|
||||
|
||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム WebDAV関連記事 |
| 特集:次世代プロトコルWebDAVの可能性[前編] 技術仕様徹底解説 将来、SambaやCVSを不要にする可能性を秘めた「WebDAV」。このプロトコルの仕様から実用化までを徹底解説。今回は、技術仕様を明らかにする |
|
| 特集:次世代プロトコルWebDAVの可能性[中編] WebDAVクライアント/サーバ環境の構築 WebDAVの実装はすでに存在する。LinuxによるWebDAVサーバの構築とクライアントの整備を行い、実際に使ってみよう |
|
| 特集:次世代プロトコルWebDAVの可能性[後編] 日本語ファイル名の利用とバージョン管理 日本語ファイル名を扱えるようにするほか、WebDAVの「V」を司るバージョン管理機能を実現。WebDAV解説完結編! |
|
| 特集:WebDAV時代のセキュリティ対策[前編] WebDAVのメソッドは便利な反面、セキュリティホールとなり得る。しかし、適切な対策を講じることでメソッドの危険性は取り除くことができる |
|
| 特集:WebDAV時代のセキュリティ対策[後編] WebDAVの使用に際し、包括的な対策を行っておくのも重要である。何をどのように設定すればよいのかをここで明らかにする |
|
| 特集:Apache
2.0でWebDAV Apache 2.0の正式リリースでWebDAVも新たな段階に入った。一方で、1.3時代のmod_encodingがうまく機能しないという問題も浮上した |
|
| 特集:Subversionによるバージョン管理 DeltaVがRFCとしてリリースされ、WebDAVのバージョン管理機能も足元か固まった。DeltaVの実装である「Subversion」を導入しよう |
|
| Linux Squareフォーラム全記事インデックス |
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成・2 (2010/3/11)
IPパケットのディスティネーションアドレスを書き換える「DNAT」を使って、透過型プロキシを構築します - 一歩進んだ監視のカスタマイズ (2010/3/3)
スクリプトの実行結果などを取得できるユーザーパラメータを用いて、自分のニーズにぴったり合った監視を実現 - OSSライセンス順守の第一歩 (2010/2/18)
企業として、OSSライセンス違反を犯さないためには、どのような手順が必要か、いくつかアドバイスします - 無視できないフラグメンテーション問題への解答は? (2010/2/10)
今回は、メモリコンパクション、そしてメモリバリアを発行するシステムコールという2つのパッチについて深く紹介します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |









