こんばんは。
昨日に引き続き、Robert の Blog を見てたら有用な WebDAV 関連についての記事があったので、メモ代わりにここに書き留めておきます。
WebDAV Redirector Registry Settings という記事の訳です。
——————————————————-
Release of the WebDAV module for IIS 7 (<- この記事は古いので、こちら の新しいほうを見たほうがいいです。日本語訳はこちら。) の記事を書いた後、私は Windows Vista と Windows Server 2008 と一緒にリリースされる WebDAV リダイレクタ (redirector) を検証しています。このリダイレクタは WebClient サービスのアップデート版としてリリースされ、Windows Vista にはインストール済みですが、Windows Server 2008 では "Desktop Experience" 機能をインストールする必要があります。インストールすれば、WebDAV 共有にドライブを UNC Path を用いるような感じでマッピングできます。
いくつかの検証によって、私はいくつか紹介したい WebClient サービスの振る舞いを発見した。例えば、もし WebDAV が有効でない Web サイトにへネットワークドライブを割り当てようとしたら、私は予想通りのエラーに遭遇するでしょう。しかし、WebDAV を有効にした後でも、数時間経過するまでは同じエラーに遭遇します。私は、ステータスがなんらかの形でキャッシュされているのだと仮定したので、このキャッシングをコントロールできないか?ということに興味を持ちました。そして、私は次のレジストリ キーの設定において、WebDAV リダイレクタの振る舞いをコントロールすることができるいくつかの設定項目を見つけました:
HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
私は、ひとつまたはその他の設定に対してドキュメント化されたソース(元ネタ?)をいくつか見つけましたが、簡潔にリスト化されているものがなかったので、私が今のところ見つけることができた設定を含む次のリストを作成しました。
設定項目 & その説明 |
タイプ |
値 |
規定値 |
AcceptOfficeAndTahoeServers
WebClient サービスが Sharepoint か Office Web Server を実行する Web サイトに接続できるかどうかを指定。 |
DWARD |
0 = False 1 = True |
1 |
BasicAuthLevel
WebClient サービスがサーバーとのやり取りに Basic 認証を使えるかどうかを指定。
Note: Basic 認証は "ユーザー名とパスワード" をクリア テキストで送信するため深刻なセキュリティ上の問題を引き起こします。なので、SSL 接続以外では、WebDAV で Basic 認証を使うことは規定で無効にされています。この設定の意味するところは、このレジストリ キーは規定の Basic 認証の振る舞いを上書きすることができるということですが、これは強くお勧めいたしません。 |
DWARD |
0 = Basic 認証は無効 1 = Basic 認証は SSL Web サイトのみに対して有効 2 = Basic 認証は SSL と 非 SSL Web サイトに対して有効 |
1 |
FileAttributesLimitInBytes
すべてのファイルが個々に持つ属性・管理情報 (all properties on a specific collection) に対して、WebClient サービスによって許される最大のサイズを指定します。 |
DWARD |
属性値のサイズ (バイト) |
1,000,000 decimal (1MB) |
FileSizeLimitInBytes
ファイルのやり取りで WebClient サービスが許す最大値を指定します。 |
DWARD |
ファイルサイズ (バイト) |
50,000,000 decimal (50MB) |
InternetServerTimeoutInSec
ローカルの WebDAV サーバー以外に接続する際の、WebClient サービスが使う接続のタイムアウト値を指定します。 |
DWARD |
時間 (秒) |
30 decimal |
LocalServerTimeoutInSec
ローカルの WebDAV サーバーに接続する際の、WebClient サービスが使う接続のタイムアウト値を指定します。 |
DWARD |
時間 (秒) |
15 decimal |
SendReceiveTimeoutInSec
"GET /file.ext" または "PUT /file.ext" のようなリクエストが発行された後、WebClient サービスが使う WebDAV のタイムアウト値(秒) を指定します。 |
DWARD |
時間 (秒) |
60 decimal |
ServerNotFoundCacheLifeTimeInSec
サーバーが WebClient サービスによって non-WebDAV としてキャッシュされる一定期間を指定します。
Note: WebClient サービスは接続したことのある non-WebDAV サーバーのリストを維持します。もし(接続した) サーバーがそのリストにある場合は、a fail (WebDAV接続に失敗したという値) は、サーバーに接続を試みることなくすぐに返されます。 |
DWARD |
時間 (秒) |
60 decimal |
SupportLocking
WebClient サービスが Locking をサポートするかどうかを指定する。 |
DWARD |
0 = False 1 = True |
1 |
Note: 上記のいくつかの設定を変更した後、WebClient サービスの再起動が必要です。
私はこのリストが誰かの助けになればと思います。;-]
——————————————–
MSDN とかにすでに情報としてありそうな感じですが、WebDAV 利用時に使い勝手が悪かったり、不具合があった場合の回避策を探すためにもこういう情報があると楽ですよね。。。
WebDAV のこと書いてたら、IE8 で実装された HTML5 の Local キャッシュのこと思い出した!
その辺のことまとめてみよう。。。