Windows で動作する WebDAV クライアント

作成日:2019.05.20
変更日:2019.05.27

Windows で使える WebDAV クライアントを探しているのだが、分った範囲の情報をまとめてみる。

個人的にはおすすめのは、

1. 項目の意味

表中の列の項目は以下のような意味。

形態
ソフトウェアが通常の「アプリ」か、「仮想ドライブ」あるいは「シェル拡張」でWindowsのファイルシステムの一部として見えるのかを示す。 「仮想ドライブ」や「シェル拡張」の場合、SMB や NFS のようなネットワークファイルシステムのように PowerPoint や Excel のファイルが直接編集できるというメリットがある。 他に「ブラウザ拡張」や JavaScript で動作するものもある。
日本語ファイル名対応
サーバー側に日本語のファイル名があった時に正しく扱えるか。 ただしサーバー側のファイル名は UTF-8 であることを前提とする。 EUCやシフトJISへの対応は不問。
プロキシ対応
WebDAV クライアントと WebDAV サーバーの間に挟むプロキシを設定できるかどうか。 プロキシがないと社内環境からインターネット上の WebDAV サーバーにつなげなかったりする。
OPTIONS
起動時などに WebDAV サーバーに OPTIONS メソッドを発行し、WebDAV サーバーがどの機能を実装しているか。 WebDAV は Class 1〜3 の種別があり拡張メソッド(MKCOL/COPY/MOVE/PROPFIND/PROPPATCH/LOCK/UNLOCK)もサポートレベルがある。 仕様的にはクライアントは OPTIONS メソッドで機能の拡張をしてから動作することが要求されている。 これだけ製品情報を集めてみると、仮想ドライブ型やシェル拡張型は、OPTIONS で WebDAV サーバーのチェックをする製品は完成度が高く、そうでないものは酷い動作が多いと言い切れる。
LOCK
形態が「仮想ドライブ」あるいは「シェル拡張」でネットワークファイルシステムのように動作する場合、アプリケーションがファイルの編集の前後で LOCK メソッドを発行して複数人の同時変更の衝突を防ぐかどうかを判定する。
クライアントによってはファイルに対して明示的なロック操作を行ったり、ロック一覧を表示したりする UI を持っているものもある。
  • TeamFile WebDAV クライアントはファイルの右プロパティでロック・ロック解除操作ができる。またロックしているファイルに鍵マークのアイコンが付く。
DeltaV
WebDAV に CSV や Subversion のようなバージョン管理機能に対応しているかどうか。 WebDAV サーバーと WebDAV クライアントの両方が対応していれば、エクスプローラーのプロパティにある「以前のバージョン」のような機能を実装できると思われる。 残念だがクライアント側に対応しているものは見つからない。 仕様は RFC 3253 Versioning Extensions to WebDAV(Web Distributed Authoring and Versioning)
Ordered Collections
コレクション(ディレクトリ)に特定の並び方や属性を設定する。 フォルダーのソート機能のようなものではない。 仕様は RFC 3648: Ordered Collections Protocol
ACL
アクセスコントロールリストに基づくアクセス権限管理が可能。 仕様は RFC 3744: Access Control
Quota
容量制限とサイズの報告。 仕様は RFC 4331: Quota and Size Properties
SEARCH
WebDAV に検索を附加する。 仕様上は検索ボックスのような簡単な文字検索から SQL のような複雑なクエリーまでが実装可能なように定義されている。 検索クエリースキーマを WebDAV サーバーと WebDAV クライアントはネゴシエーションするようになっているが、実際にそこまでやっているクライアントはないだろうから、SEARCH 対応と言ってもレベルがあると思われる。 仕様は RFC 5323: WebDAV SEARCH; previously DASL - DAV Searching and Locating
圧縮
ファイルをダウンロード時に圧縮アルゴリズムを使えるかどうか。
Advanced PUT
ファイルをアップロード(PUT)する際に、範囲指定 PUT や chunked PUT を出せるかどうか。
Cookie
クッキー情報を返せるかどうか。
  • 〇 対応
  • △ 中途半端に対応
  • × 非対応
ファイルコピー(COPY)
ファイルコピー時に COPY メソッドを使うかどうか。 ×の場合、コピー元を GET してコピー先に PUT している。
ファイルコピー(デッドプロパティの保存)
ファイルコピーが GET & PUT の場合、元のファイルのデッドプロパティを保存してくれるかどうか。 COPY メソッドの場合はデッドプロパティの保存はサーバー側の責務である。

2. WebDAV クライアントのまとめ

製品名(開発者・開発元) ライセンス 形態 日本語ファイル名対応 プロキシ対応 OPTIONS LOCK DeltaV Orded Collections ACL SEARCH 圧縮 Advanced PUT Cookie保存 ファイルコピー(COPY) ファイルコピー(デッドプロパティの保存) User-Agent
含んでいる特徴的な語句
備考
仮想ドライブ型
Windows 標準
(Microsoft)
  仮想ドライブ × × × × 〇(?) なし × × × Microsoft-WebDAV-MiniRedir セキュリティが設定が安全側に振ってあって、デフォルトではファイルサイズは最大50MB、HTTPではBASIC認証不可となっている。 レジストリを変更することで解除が可能だが、ファイルサイズの最大は1GBまでに制限される。 プロキシ対応はない。
動作上の安定性は高い。

一ヵ所バグを発見。
  • ロック付きのファイルを MOVE した時の挙動が RFC 4918 に違反している。
RaiDrive
(OpenBoxLab)
無償(Free版) 仮想ドライブ × × × × × deflate
gzip
× × RaiDrive 完成度の高い WebDAV クライアント。 動作上の安定性は高い。 ただし Free 版は LOCK を発行しない。
  • PROPPATCH メソッドを発行してこない。
  • 1.70 からクッキーに対応
有償(Professional版)
WebDrive
(South River Technologies)
有償(10日間は試用可) 仮想ドライブ × × × × × × WebDriveV 完成度の高い WebDAV クライアント。 動作上の安定性は高く、変更できるオプションが多い。

  • LOCK リクエストに対して Content-Type を付けていない。
  • DAV:isreadonly、DAV:createdby という非標準のプロパティを要求してくる。
デバッグログ機能がある。
VEGA
(VG-Sync)
無償 仮想ドライブ × deflate
gzip
× × SecureBlackbox いくつかバグがある。
  • PROPFIND メソッドに対して Content-Type を付けていない。
  • レスポンス中の href が absolute-URI ではダメで path-absolute である必要がある。
  • ファイルの更新ができない。
デバッグログ機能がある。

今のところ書き込みには成功していない。
Map WebDAV Drive
(IT Hit)
有償(30日間の試用可) 仮想ドライブ IT Hit WebDAV Client WebDAV 専業メーカーの作った仮想ドライブだけあって、機能が豊富。
  • GET が範囲指定でダウンロードしてくる。
  • 右プロパティメニュにファイルのロック操作・アンロック操作が可能。
  • ライブプロパティの表示とデッドプロパティの編集が可能。
DokanCloudFS
(viciousviper)
OSS 仮想ドライブ
DirectNet Drive
(FmotSoft)
無償 仮想ドライブ × なし 非常に不安定で、日本語のファイル名のファイルを削除しても DELETE が発行されず、システムが不安定になるなどの問題があり。 Apache HTTP Server の mod_dav に接続しても不安定である。
ExpanDrive 7
(ExpandDrive)
有償(7日間は試用可) 仮想ドライブ × × × ない。
ただし最初の数回は WebDAVFS がつく
仕様書を読んで作ったのかどうか怪しい WebDAV クライアントである。
  • Origin ヘッダーで "electron://expandrive" を指定してくる。 現在は Origin ヘッダーは CORS のために使っているので、変な値を入れられると困るのだが。
  • PROPFIND を Content-Type を application/x-www-form-urlencoded で送ってくる。
Apache HTTP Server の mod_dav にはつながる。
NetDrive
(CloudSync)
有償(14日間は試用可) 仮想ドライブ × Bdrive(gzipz) WebDAV サーバーの指定が https://host.example.com/ のようなルート状態を想定しており、https://host.example.com/path1/path2/ のようなパスを入力には制限が付く。 パスを直接入力はできず、ルートからディレクトリを順に手繰れる UI となっている。 試すことすらできない。
Mountain Duck
(iterate GmbH)
有償(トライアルあり) 仮想ドライブ × ×  
シェル拡張型
TeamFile WebDAV クライアント
(コンピュータ・ハイテック)
無償 シェル拡張 1 〇(?) gzip TeamFile-Client Apache HTTP Server の mod_dav に依存しているようで癖がある。
  • 最初に認証失敗で 401 Unauthroized エラーを返す時に、text/html が返らないとエラーとなる。
  • XML レスポンスは text/xml が必要で application/xml ではエラーとなる。
フォルダーからファイルを編集しようとした場合は、一時ディレクトリにコピーしてそれを編集するようになっている。
Proself Client
(Proself)
無償 シェル拡張 〇(?) Proself-Client いくつかバグがある。
  • OPTIONS メソッドが 200(OK) が必要。204(No Content) は NG。
  • レスポンス中の href が absolute-URI ではダメで path-absolute である必要がある。
デバッグログ機能があり、アクセスの詳細が取得できる。
アプリ型
WinSCP
(WinSCP.net)
無償 アプリ なし × WinSCP  
Cyberduck
(iterate GmbH)
無償 アプリ × deflate
gzip
br
Cyberduck  
CarotDAV
(麗の小屋 ソフトウェア)
無償 アプリ deflate
gzip
br
Rei.Fs.WebDAV WebDAV クライアントとして出発しているので、非常に WebDAV 対応度が高い。 WebDAV サーバーとの通信情報を詳細で見ることができるので、WebDAV サーバーの確認に便利。
  • アプリ型ながらテストボタンを押すと OPTIONS を発行。
  • 文字のエンコード方式を複数から選択可能。
DDDAV 無償 アプリ  
その他
Chrome WebDAV Client With Drive ブラウザ拡張  
Web-based WebDAV Client
(IT Hit)
オンラインデモがある。
Total Commander + WebDAV Plugin  

3. バグの分類

コメント

コメントを書き込む

TOP    掲示板    戻る
Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp