[要約] RFC 4709は、WebDAVサーバーのマウントに関する標準化された手法を提供します。このRFCの目的は、WebDAVサーバーを効果的にマウントするためのガイドラインを提供することです。

Network Working Group                                         J. Reschke
Request for Comments: 4709                                    greenbytes
Category: Informational                                     October 2006
        

Mounting Web Distributed Authoring and Versioning (WebDAV) Servers

取り付けWeb分散オーサリングとバージョン(WebDav)サーバー

Status of This Memo

本文書の位置付け

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準を指定しません。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2006).

Copyright(c)The Internet Society(2006)。

Abstract

概要

In current Web browsers, there is no uniform way to specify that a user clicking on a link will be presented with an editable view of a Web Distinguished Authoring and Versioning (WebDAV) server. For example, it is frequently desirable to be able to click on a link and have this link open a window that can handle drag-and-drop interaction with the resources of a WebDAV server.

現在のWebブラウザーでは、リンクをクリックするユーザーがWebの著名なオーサリングおよびバージョン(WebDAV)サーバーの編集可能なビューで表示されることを指定する均一な方法はありません。たとえば、リンクをクリックして、このリンクにWebDavサーバーのリソースとのドラッグアンドドロップの相互作用を処理できるウィンドウを開くことができることが望ましいことがよくあります。

This document specifies a mechanism and a document format that enables WebDAV servers to send "mounting" information to a WebDAV client. The mechanism is designed to work on any platform and with any combination of browser and WebDAV client, relying solely on the well-understood dispatch of documents through their MIME type.

このドキュメントは、WebDAVサーバーがWebDAVクライアントに「マウント」情報を「マウント」情報を送信できるようにするメカニズムとドキュメント形式を指定します。このメカニズムは、ブラウザとWebDavクライアントの任意の組み合わせで、あらゆるプラットフォームで動作するように設計されており、MIMEタイプを通じて文書のよく理解されている派遣だけに依存しています。

Table of Contents

目次

   1. Introduction ....................................................2
   2. Terminology .....................................................3
   3. Format ..........................................................3
      3.1. dm:mount ...................................................4
      3.2. dm:url .....................................................4
      3.3. dm:open ....................................................4
      3.4. dm:username ................................................4
   4. Example .........................................................4
   5. Internationalization Considerations .............................5
   6. IANA Considerations .............................................6
      6.1. MIME Type Registration .....................................6
   7. Security Considerations .........................................8
   8. Acknowledgements ................................................8
   9. References ......................................................9
      9.1. Normative References .......................................9
      9.2. Informative References .....................................9
   Appendix A.  Alternative Approaches ...............................10
      A.1. ...Through HTML/CSS Extensions ............................10
      A.2. ...Through Custom URI Schemes .............................10
   Appendix B.  Implementations ......................................10
      B.1. Example Implementation for Webfolder Client ...............10
      B.2. Xythos ....................................................14
        
1. Introduction
1. はじめに

By definition, a Web Distributed Authoring and Versioning (WebDAV) server ([RFC2518]) is an HTTP server as well ([RFC2616]). Most WebDAV servers can be (at least partly) operated from an HTML-based user interface in a web browser. However, it is frequently desirable to be able to switch from an HTML-based view to a presentation provided by a native WebDAV client, directly supporting the authoring features defined in WebDAV and related specifications.

定義上、Web分散オーサリングおよびバージョン(webdav)サーバー([RFC2518])もHTTPサーバー([RFC2616])です。ほとんどのWebDAVサーバーは、(少なくとも部分的に)Webブラウザー内のHTMLベースのユーザーインターフェイスから操作できます。ただし、HTMLベースのビューからネイティブWebDAVクライアントが提供するプレゼンテーションに切り替えることができ、WebDAVおよび関連する仕様で定義されたオーサリング機能を直接サポートできることが望ましいことがよくあります。

This document specifies a platform-neutral mechanism based on the dispatch of documents through their MIME type. For completeness, Appendix A lists other approaches that have been implemented in existing clients.

このドキュメントは、MIMEタイプを介したドキュメントの派遣に基づいたプラットフォーム中立メカニズムを指定します。完全性については、付録Aには、既存のクライアントに実装されている他のアプローチがリストされています。

For example, many educational institutions use WebDAV servers as a mechanism for sharing documents among students. Each student owns a separate collection structure on a WebDAV server, often called his/ her "locker". Ideally, when users click on a link in an HTML page provided by the university (perhaps by their university Web portal), an editable view of their locker will appear.

たとえば、多くの教育機関は、学生間で文書を共有するメカニズムとしてWebDavサーバーを使用しています。各生徒は、多くの場合、自分の「ロッカー」と呼ばれることが多いWebDavサーバー上に個別のコレクション構造を所有しています。理想的には、ユーザーが大学が提供するHTMLページのリンクをクリックすると(おそらく大学のWebポータルによって)、ロッカーの編集可能なビューが表示されます。

2. Terminology
2. 用語

The terminology used here follows that in the WebDAV Distributed Authoring Protocol specification [RFC2518].

ここで使用される用語は、WebDAV分布のオーサリングプロトコル仕様[RFC2518]でそれに続きます。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

「必須」、「そうしない」、「必須」、「必要」、「「しない」、「そうでない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[RFC2119]に記載されているように解釈される。

This document uses XML DTD fragments ([XML]) as a purely notational convention. In particular:

このドキュメントは、純粋に表記の慣習としてXML DTDフラグメント([XML])を使用しています。特に:

o Element names use the namespace "http://purl.org/NET/webdav/mount". When an XML element type in this namespace is referenced in this document outside of the context of an XML fragment, the string "dm:" will be prefixed to the element name.

o 要素名namespace "http://purl.org/net/webdav/mount"を使用します。この名前空間のXML要素タイプがXMLフラグメントのコンテキストの外側のこのドキュメントで参照される場合、文字列「DM:」は要素名に付けられます。

o Element ordering is irrelevant.

o 要素の順序は無関係です。

o Extension elements/attributes (elements/attributes not already defined as valid child elements) may be added anywhere, except when explicitly stated otherwise.

o 拡張要素/属性(有効な子要素としてまだ定義されていない要素/属性)は、明示的に明示的に記載されている場合を除き、どこにでも追加される場合があります。

3. Format
3. フォーマット

A WebDAV mount request is encoded in a specific XML format ([XML]) with a well-defined MIME type (see Section 6.1). The MIME type allows user agents to dispatch the content to a handler specific to the system's WebDAV client.

WebDavマウントリクエストは、明確に定義されたMIMEタイプを持つ特定のXML形式([XML])でエンコードされます(セクション6.1を参照)。MIMEタイプにより、ユーザーエージェントはコンテンツをシステムのWebDAVクライアントに固有のハンドラーにディスパッチできます。

The elements defined below use the namespace "http://purl.org/NET/webdav/mount".

以下に定義されている要素は、名前空間「http://purl.org/net/webdav/mount」を使用します。

   <!ELEMENT mount (url, open?, username?) >
        
   <!ELEMENT url (#PCDATA) >
   <!-- PCDATA value: scheme ":" hier-part, as defined in Section 3 of
        [RFC3986] -->
        
   <!ELEMENT open (#PCDATA) >
   <!-- PCDATA value: path, as defined in Section 3 of
        [RFC3986] -->
        
   <!ELEMENT username (#PCDATA) >
        
3.1. dm:mount
3.1. DM:マウント

The <dm:mount> element acts as a container for all the remaining elements defined by this protocol.

<dm:mount>要素は、このプロトコルで定義された残りのすべての要素の容器として機能します。

3.2. dm:url
3.2. DM:URL

The mandatory <dm:url> element provides the HTTP URL of the WebDAV collection that should be mounted by the client.

必須<DM:URL>要素は、クライアントが取り付ける必要があるWebDAVコレクションのHTTP URLを提供します。

3.3. dm:open
3.3. DM:開く

The optional <dm:open> element instructs the client to display the specified child collection; its URL is computed by concatenating this element's value with the URL obtained from the <dm:url> (Section 3.2) element (see Section 7 for a discussion about why this element only supports displaying collections rather than opening arbitrary documents).

オプションの<DM:Open>要素は、指定された子コレクションを表示するようにクライアントに指示します。そのURLは、この要素の値を<DM:URL>(セクション3.2)要素から取得したURLと連結することによって計算されます(この要素が任意のドキュメントを開くのではなくコレクションの表示のみをサポートする理由については、セクション7を参照してください)。

3.4. dm:username
3.4. DM:ユーザー名

The server can use the optional <dm:username> element to specify the name of the currently authenticated principal. A client can use this value to select a matching mount point (different users may have mounted the URL with different credentials under different local mount points) or to provide a meaningful default for authentication against the server. It is common that a browser and WebDAV client do not share HTTP connections, so including this information in the mount document increases usability.

サーバーは、オプション<DM:UserName>要素を使用して、現在認証されているプリンシパルの名前を指定できます。クライアントは、この値を使用して、一致するマウントポイント(異なるユーザーが異なるローカルマウントポイントの下に異なる資格情報を使用してURLをマウントした場合があります)を選択するか、サーバーに対する認証に意味のあるデフォルトを提供できます。ブラウザとWebDavのクライアントがHTTP接続を共有しないことがよくあります。したがって、マウントドキュメントにこの情報を含めると、使いやすさが向上します。

Implementation Note: If a <dm:username> element is present, public caching of the document should be disallowed. Thus, appropriate 'Vary' or 'Cache-Control' headers are needed in the server response.

実装注:a <dm:username>要素が存在する場合、ドキュメントの公開キャッシュは許可されません。したがって、サーバーの応答には、適切な「変化」または「キャッシュ制御」ヘッダーが必要です。

4. Example
4. 例

In the example below, the client first retrieves a representation of a WebDAV collection using a generic Web browser (1). The returned HTML content contains a hyperlink that identifies the "davmount" document in the format defined in Section 3 (2). The user follows this link (3), which causes the server to return the "davmount" document to the user's browser (4). The browser in turn passes the content to the application that was registered to handle the "application/davmount+xml" MIME type, usually the default WebDAV client on the client's system.

以下の例では、クライアントはまず、一般的なWebブラウザー(1)を使用してWebDavコレクションの表現を取得します。返されたHTMLコンテンツには、セクション3(2)で定義されている形式の「Davmount」ドキュメントを識別するハイパーリンクが含まれています。ユーザーはこのリンク(3)に従います。これにより、サーバーは「davmount」ドキュメントをユーザーのブラウザ(4)に返すようになります。ブラウザは、通常、クライアントのシステム上のデフォルトのWebDAVクライアントである「アプリケーション/Davmount XML」MIMEタイプを処理するために登録されたアプリケーションにコンテンツを渡します。

(1) Client retrieves representation of WebDAV collection "/user42/ inbox/".

(1) クライアントは、webdavコレクション「/user42/inbox/」の表現を取得します。

GET /user42/inbox/ HTTP/1.1 Host: www.example.com

get/user42/inbox/http/1.1ホスト:www.example.com

(2) Server returns representation.

(2) サーバーは表現を返します。

   HTTP/1.1 200 OK
   Content-Type: text/html
   Content-Length: xxx
        

.. <a href="?action=davmount">View this collection in your WebDAV client</a> ..

.. <a href="?action=davmount">このコレクションをWebDavクライアントで見る</a> ..

(note that the example shows only that part of the HTML page that contains the relevant link)

(この例は、関連するリンクを含むHTMLページの一部のみを示していることに注意してください)

(3) Client follows link to "davmount" document

(3) クライアントは、「davmount」ドキュメントへのリンクに従います

GET /user42/inbox/?action=davmount HTTP/1.1 Host: www.example.com

get/user42/inbox/?action = davmount http/1.1ホスト:www.example.com

(4) Server returns "davmount" document

(4) サーバーは「Davmount」ドキュメントを返します

HTTP/1.1 200 OK Content-Type: application/davmount+xml Content-Length: xxx Cache-Control: private

HTTP/1.1 200 OKコンテンツタイプ:アプリケーション/DAVMOUNT XMLコンテンツレングス:XXX Cache-Control:Private

   <dm:mount xmlns:dm="http://purl.org/NET/webdav/mount">
     <dm:url>http://www.example.com/user42/</dm:url>
     <dm:open>inbox/</dm:open>
   </dm:mount>
        
5. Internationalization Considerations
5. 国際化の考慮事項

This document does not introduce any new internationalization considerations beyond those discussed in [RFC2518], Section 16.

このドキュメントでは、[RFC2518]、セクション16で議論されているものを超えた新しい国際化に関する考慮事項は導入されていません。

6. IANA Considerations
6. IANAの考慮事項
6.1. MIME Type Registration
6.1. MIMEタイプの登録

Type name:

タイプ名:

application

応用

Subtype name:

サブタイプ名:

davmount+xml

DavMount XML

Required parameters:

必要なパラメーター:

none

なし

Optional parameters:

オプションのパラメーター:

"charset": This parameter has identical semantics to the charset parameter of the "application/xml" media type as specified in [RFC3023].

「charset」:このパラメーターには、[rfc3023]で指定されている「アプリケーション/xml」メディアタイプのcharsetパラメーターと同じセマンティクスがあります。

Encoding considerations:

考慮事項のエンコード:

Identical to those of "application/xml" as described in [RFC3023], Section 3.2.

[RFC3023]、セクション3.2に記載されている「アプリケーション/XML」のものと同一。

Security considerations:

セキュリティ上の考慮事項:

As defined in this specification. In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10.

この仕様で定義されているとおり。さらに、このメディアタイプは「XML」規則を使用するため、[RFC3023]、セクション10で説明されているのと同じセキュリティ上の考慮事項を共有しています。

Interoperability considerations:

相互運用性の考慮事項:

There are no known interoperability issues.

相互運用性の問題は既知のものはありません。

Published specification:

公開された仕様:

This specification.

この仕様。

Applications that use this media type:

このメディアタイプを使用するアプリケーション:

SAP Netweaver Knowledge Management, Xythos Drive.

SAP NetWeaver Knowledge Management、Xithos Drive。

Additional information:

追加情報:

Magic number(s):

マジックナンバー:

As specified for "application/xml" in [RFC3023], Section 3.2.

[RFC3023]の「アプリケーション/XML」に指定されているように、セクション3.2。

File extension(s):

ファイル拡張子:

.davmount

.Davmount

Fragment identifiers:

フラグメント識別子:

As specified for "application/xml" in [RFC3023], Section 5.

[RFC3023]の「アプリケーション/XML」に指定されているように、セクション5。

Base URI:

ベースURI:

As specified in [RFC3023], Section 6.

[RFC3023]で指定されているように、セクション6。

Macintosh file type code(s):

Macintoshファイルタイプコード:

TEXT

文章

Person & email address to contact for further information:

詳細については、連絡先への個人およびメールアドレス:

      Julian Reschke <julian.reschke@greenbytes.de>
        

Intended usage:

意図された使用法:

COMMON

一般

Restrictions on usage:

使用に関する制限:

None.

なし。

Author:

著者:

Julian Reschke

ジュリアン・レシュケ

Change controller:

Change Controller:

IESG

iesg

7. Security Considerations
7. セキュリティに関する考慮事項

All security considerations connected to HTTP/WebDAV and XML apply for this specification as well, namely, [RFC2518] (Section 17) and [RFC3470] (Section 7).

HTTP/WebDavおよびXMLに接続されたすべてのセキュリティ上の考慮事項は、この仕様、つまり[RFC2518](セクション17)および[RFC3470](セクション7)にも適用されます。

In addition, client implementers must be careful when implementing the <dm:open> element (see Section 3.3). It MUST NOT be used to initiate any action beyond displaying the contents of a WebDAV collection (supporting "opening" documents could be abused to trick a user into letting the operating system's shell execute arbitrary content, possibly running it as an executable program).

さらに、クライアントの実装者は、<dm:open>要素を実装する場合は注意する必要があります(セクション3.3を参照)。WebDavコレクションのコンテンツを表示する以外にアクションを開始するために使用してはなりません(ユーザーをだましてオペレーティングシステムのシェルが任意のコンテンツを実行できるようにし、実行可能なプログラムとして実行できるようにするために、「開く」ドキュメントを虐待する可能性があります)。

The OPTIONAL <dm:username> element defined in Section 3.4 allows the inclusion of user names into mount documents. However in some cases, user name information is considered to be security sensitive. Should this be the case, parties generating mount documents are advised to either not to include user names, or to use access control to restrict access to the information as desired.

セクション3.4で定義されているオプション<DM:UserName>要素を使用すると、ユーザー名をマウントドキュメントに含めることができます。ただし、場合によっては、ユーザー名情報はセキュリティに敏感であると見なされます。この場合、マウントドキュメントを生成する当事者は、ユーザー名を含めないか、アクセス制御を使用して必要な情報へのアクセスを制限することをお勧めします。

8. Acknowledgements
8. 謝辞

This document has benefited from thoughtful discussion by Emile Baizel, Spencer Dawkins, Lisa Dusseault, Stefan Eissing, Joe Gregorio, Michal Gregr, Russ Housley, Jim Luther, Jaroslav Mazanec, and Jim Whitehead.

この文書は、エミール・バイゼル、スペンサー・ドーキンス、リサ・デュッセー、ステファン・アイシング、ジョー・グレゴリオ、ミカル・グレグル、ラス・ハウズリー、ジム・ルーサー、ジャロスラフ・マザネック、ジム・ホワイトヘッドによる思慮深い議論の恩恵を受けています。

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S., and D. Jensen, "HTTP Extensions for Distributed Authoring -- WEBDAV", RFC 2518, February 1999.

[RFC2518] Goland、Y.、Whitehead、E.、Faizi、A.、Carter、S。、およびD. Jensen、「分散オーサリング用のHTTP拡張 - WebDav」、RFC 2518、1999年2月。

[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

[RFC2616] Fielding、R.、Gettys、J.、Mogul、J.、Frystyk、H.、Masinter、L.、Leach、P。、およびT. Berners-Lee、「HyperText Transfer Protocol-HTTP/1.1」、RFC 2616、1999年6月。

[RFC3023] Murata, M., St.Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001.

[RFC3023] Murata、M.、St.Laurent、S。、およびD. Kohn、「XML Media Types」、RFC 3023、2001年1月。

[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[RFC3986] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「ユニフォームリソース識別子(URI):ジェネリック構文」、STD 66、RFC 3986、2005年1月。

[XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C REC-xml-20060816, August 2006, <http://www.w3.org/TR/2006/REC-xml-20060816>.

[XML] Bray、T.、Paoli、J.、Sperberg-Mcqueen、C.、Maler、E。、およびF. Yergeau、「拡張可能なマークアップ言語(XML)1.0(第4版)」、W3C REC-XML-200608166、2006年8月、<http://www.w3.org/tr/2006/rec-xml-20060816>。

9.2. Informative References
9.2. 参考引用

[RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols", RFC 3470, BCP 70, January 2003.

[RFC3470] Hollenbeck、S.、Rose、M。、およびL. Masinter、「IETFプロトコル内の拡張マークアップ言語(XML)の使用に関するガイドライン」、RFC 3470、BCP 70、2003年1月。

[WEBARCH] Walsh, N. and I. Jacobs, "Architecture of the World Wide Web, Volume One", W3C REC-webarch-20041215, December 2004, <http://www.w3.org/TR/2004/REC-webarch-20041215/>.

[Webarch] Walsh、N。and I. Jacobs、「World Wide Web、Volume Oneの建築」、W3C Rec-Webarch-20041215、2004年12月、<http://www.w3.org/tr/2004/Rec-Webarch-20041215/>。

Appendix A. Alternative Approaches
付録A. 代替アプローチ
A.1. ...Through HTML/CSS Extensions
A.1. ... HTML/CSS拡張機能を介して

Microsoft Internet Explorer implements a Cascading Style Sheet (CSS) extension that allows switching to its own WebDAV client ("Webfolder", see <http://msdn.microsoft.com/workshop/author/ behaviors/reference/behaviors/anchor.asp>). However, at the time of this writing, this extension was not implemented by any other user agent.

Microsoft Internet Explorerは、独自のWebDavクライアント(「WebFolder」に切り替えることができるカスケードスタイルシート(CSS)拡張機能を実装しています。>)。ただし、この執筆時点では、この拡張機能は他のユーザーエージェントによって実装されていませんでした。

A.2. ...Through Custom URI Schemes
A.2. ...カスタムURIスキームを介して

The "kio" library of the "K Desktop Enviroment" (<http://www.kde.org/>) uses the URI scheme "webdav" to dispatch to the system's WebDAV client. This URI scheme is not registered, nor is it supported on other platforms. Furthermore, the W3C's "Architecture of the World Wide Web, Volume One" explicitly advises against defining new schemes when existing schemes can be used:

「kデスクトップ環境」(<http://www.kde.org/>)の「kio」ライブラリは、URIスキーム「webdav」を使用して、システムのWebDavクライアントに派遣します。このURIスキームは登録されておらず、他のプラットフォームでもサポートされていません。さらに、W3Cの「World Wide Web、Volume Oneのアーキテクチャ」は、既存のスキームを使用できる場合に新しいスキームを定義することに対して明示的にアドバイスします。

A specification SHOULD reuse an existing URI scheme (rather than create a new one) when it provides the desired properties of identifiers and their relation to resources.

仕様は、識別子の目的のプロパティとリソースとの関係を提供する場合、既存のURIスキームを(新しいものを作成するのではなく)再利用する必要があります。

(See [WEBARCH], Section 2.4.)

([Webarch]、セクション2.4を参照してください。)

Appendix B. Implementations
付録B. 実装
B.1. Example Implementation for Webfolder Client
B.1. WebFolderクライアントの実装の例

The figure below shows a sample implementation of a dispatcher for the application/davmount+xml datatype, suited for Win32 systems and the Microsoft "Webfolder" client.

以下の図は、Win32 SystemsとMicrosoftの「WebFolder」クライアントに適したアプリケーション/Davmount XMLデータ型のディスパッチャーのサンプル実装を示しています。

   // sample implementation of application/davmount+xml
   // dispatcher for Windows Webfolder client
   //
   // to install/uninstall:
   //        wscript davmount.js
   //
   // to open the webfolder:
   //        wscript davmount.js filename
   // (where filename refers to an XML document with MIME type
   // application/davmount+xml)
        
   var EXTENSION = ".davmount";
   var MIMETYPE = "application/davmount+xml";
   var REGKW = "WebDAV.mount";
        
   var NS = "xmlns:m='http://purl.org/NET/webdav/mount";
        

// remove keys/entries from the registry

//レジストリからキー/エントリを削除します

   function regdel(shell, key) {
     try {
       var x = shell.RegRead(key);
       try {
         shell.RegDelete(key);
       }
       catch(e) {
         WScript.Echo("Error removing key " + key + ": " + e);
       }
     }
     catch(e) {
       // entry not present
     }
   }
        

// methods for registering/unregistering the handler

//ハンドラーを登録/登録解除する方法

function install() {

関数インストール(){

     var WshShell = new ActiveXObject("WScript.Shell");
     if (WshShell == null) {
       WScript.Echo("Couldn't instantiate WScript.Shell object");
       return 2;
     }
        
     var fso = new ActiveXObject("Scripting.FileSystemObject");
        
     var RegExt = "HKCR\\" + EXTENSION + "\\";
     var RegMimeType = "HKCR\\MIME\\DataBase\\Content Type\\"
       + MIMETYPE + "\\";
     var RegKw = "HKCR\\" + REGKW + "\\";
        
     var extension = null;
     try {
       extension = WshShell.RegRead(RegMimeType + "Extension");
     }
     catch (e) {
     }
        
     if (extension == null) {
       var but = WshShell.popup("Install the dispatcher for mime type "
         + MIMETYPE + "?", 0, MIMETYPE + " installation", 4);
        
       if (but == 6) {
         try {
           WshShell.RegWrite(RegExt, REGKW);
           WshShell.RegWrite(RegExt + "Content Type", MIMETYPE);
           WshShell.RegWrite(RegMimeType + "Extension", EXTENSION);
           WshShell.RegWrite(RegKw, "WebDAV Mount Request");
           WshShell.RegWrite(RegKw + "DefaultIcon\\",
             "shell32.dll,103");
           var path = fso.getAbsolutePathName("davmount.js");
           WshShell.RegWrite(RegKw + "shell\\open\\command\\",
             "%SystemRoot%\\system32\\wscript.exe /nologo \""
             + path + "\" \"%1\"", "REG_EXPAND_SZ");
         }
         catch (e) {
           WScript.Echo("Error writing to registry");
           return 1;
         }
        
         return 0;
       }
       else {
         return 1;
       }
     }
     else {
       var but = WshShell.popup("Remove the dispatcher for mime type "
         + MIMETYPE + "?", 0, MIMETYPE + " installation", 4);
        
       if (but == 6) {
         regdel(WshShell, RegExt + "Content Type");
         regdel(WshShell, RegExt);
         regdel(WshShell, RegKw + "shell\\open\\command\\");
         regdel(WshShell, RegKw + "DefaultIcon\\");
         regdel(WshShell, RegKw);
         regdel(WshShell, RegMimeType + "Extension");
         regdel(WshShell, RegMimeType);
         return 0;
       }
       else {
         return 1;
       }
     }
   }
        
   if (WScript.Arguments.length == 0) {
     // install/uninstall
     WScript.Quit(install());
        
   }
   else {
     // try to invoke Webfolder
        
     var inp = new ActiveXObject("MSXML2.DOMDocument");
     var furi = encodeURI(WScript.Arguments(0));
     if (! inp.load(furi)) {
       WScript.Echo("Can't read from '"
         + WScript.Arguments(0) + "'!");
       WScript.Quit(2);
     }
        
     inp.setProperty("SelectionLanguage", "XPath");
     inp.setProperty("SelectionNamespaces",
       "xmlns:m='http://purl.org/NET/webdav/mount'");
        
     var n1 = inp.selectSingleNode("/m:mount/m:url");
     var n2 = inp.selectSingleNode("/m:mount/m:open");
        
     if (n1 == null) {
       WScript.Echo("<url> element missing.");
       WScript.Quit(2);
     }
        
     var ie = new ActiveXObject("InternetExplorer.Application");
        
     ie.Navigate("about:blank");
     var doc = ie.Document;
        
     var folder = doc.createElement("span");
     folder.addBehavior("#default#httpFolder");
        
     var result = folder.navigate(n1.text +
                    (n2 == null ? "" : n2.text));
        
     // close the window again when there was no <open> element
     if (n2 == null) ie.Quit();
        
     if (result != "OK") {
       if (result == "PROTOCOL_NOT_SUPPORTED") {
         WScript.Echo("This site doesn't seem to support WebDAV.");
         WScript.Quit(1);
       }
       else {
         WScript.Echo("Unexpected status: " + result);
         WScript.Quit(2);
       }
     }
        

}

}

B.2. Xythos
B.2. XITHOS

The "Xythos Drive" WebDAV client for WebDAV supports this specification starting with version 4.4.

WebDAV用の「XITHOS DRIVE」WebDAVクライアントは、バージョン4.4から始まるこの仕様をサポートしています。

Author's Address

著者の連絡先

Julian F. Reschke greenbytes GmbH Hafenweg 16 Muenster, NW 48155 Germany

Julian F. Reschke Greenbytes GmbH Hafenweg 16 Muenster、NW 48155ドイツ

   Phone: +49 251 2807760
   Fax:   +49 251 2807761
   EMail: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/
        

Full Copyright Statement

完全な著作権声明

Copyright (C) The Internet Society (2006).

Copyright(c)The Internet Society(2006)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書は、BCP 78に含まれる権利、ライセンス、および制限の対象となり、そこに記載されている場合を除き、著者はすべての権利を保持しています。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は、「現状のまま」に基づいて提供されています。また、貢献者、彼/彼女が代表する組織(もしあれば)が後援する組織、インターネット協会とインターネット工学タスクフォースは、すべての保証、明示的または明示的、またはすべての保証を否認します。本書の情報の使用が、商品性または特定の目的に対する適合性の権利または黙示的な保証を侵害しないという保証を含むがこれらに限定されないことを含む。

Intellectual Property

知的財産

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、知的財産権またはその他の権利の有効性または範囲に関して、この文書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスがどの程度であるかについての使用に関連すると主張する可能性があるという立場はありません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

IETF事務局に行われたIPR開示のコピーと、利用可能にするライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得しようとする試みの結果を取得できます。http://www.ietf.org/iprのIETFオンラインIPRリポジトリから。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要な技術をカバーする可能性のあるその他の独自の権利を注意深く招待するよう招待しています。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。

Acknowledgement

謝辞

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).

RFCエディター機能の資金は、IETF管理サポートアクティビティ(IASA)によって提供されます。