DAV対応メモ
DAVで色々なクライアントに対応するためのメモ。
- MS-Author-Via
- MS-Author-Via: DAVというヘッダを送らないと、WindowsのDAVクライアントが誤動作することがある。Apacheではmod_headersで設定出来る。
- エンコーディング
- PUTする時ファイル名はURLとして渡されるので、必ずしも決まった文字コードではない。何らかの自動判別機構を組み込むかクライアントごとにエンコーディングを判別するしかない。Apacheではmod_encodingで対応出来る。
- ユーザー名の正規化
- XPのDAVクライアントが非SSL/Port80のDAVにアクセスする際、ユーザー名を(コンピュータ名)\(ユーザー名)という名前に勝手に変えて送信してしまう。なのでDAV側でコンピュータ名の部分を捨てる必要がある。Apacheではmod_encoding: NormalizeUsernameで対応できる。
- OPTIONSへの対応
- XPのDAVクライアントはOPTIONSでDAVかどうかをチェックする。このときにDigest認証をかけていると、何故かパスワードの入力を求められる前に失敗してしまう。なのでOPTIONSには認証をかけてはならない。ApacheではLimitExcept OPTIONSで対応可能。
まとめると、WindowsのDAVクライアントの実装は駄目ということですね。