7

ヘッダーと本文の両方を含む、典型的な要求応答サイクルの最小限の (おそらく注釈付きの) 例はありますか? 私が理解しているように、これは最初の OPTIONS とその後の PROPFIND 交換で構成されています。その後、GET と PUT は簡単なはずなので、一般的な例は必要ありません。

WebDAV を介して既存の RESTful リソース (コレクションと個々のアイテム) を公開することを検討しています。ディレクトリの一覧表示、ファイルの読み取りと書き込みなど、機能するために必要なのは基本的な機能だけです。AFAICT は、PROPFIND サポートを追加するだけで十分であることを意味します。

4

1 に答える 1

13

仕様には例が含まれています。

最小限

リクエスト:

OPTIONS /somecollection/ HTTP/1.1
Host: example.org

応答:

HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE
Allow: MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, ORDERPATCH
DAV: 1, 2, ordered-collections

リアル

リクエスト:

  PROPFIND /somecollection HTTP/1.1
    Depth: 0
    Content-Type: text/xml; charset="utf-8"
    Content-Length: xxx

    <?xml version="1.0" encoding="UTF-8" ?>
    <propfind xmlns="DAV:">
      <prop>
        <supported-live-property-set/>
        <supported-method-set/>
      </prop>
    </propfind>

応答:

HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxx

<?xml version="1.0" encoding="utf-8" ?>
<multistatus xmlns="DAV:">
  <response>
    <href>http://example.org/somecollection</href>
    <propstat>
      <prop>
        <supported-live-property-set>
          <supported-live-property>
            <prop><ordering-type/></prop>
          </supported-live-property>
          <!-- ... other live properties omitted for brevity ... -->
        </supported-live-property-set>
        <supported-method-set>
          <supported-method name="COPY" />
          <supported-method name="DELETE" />
          <supported-method name="GET" />
          <supported-method name="HEAD" />
          <supported-method name="LOCK" />
          <supported-method name="MKCOL" />
          <supported-method name="MOVE" />
          <supported-method name="OPTIONS" />
          <supported-method name="ORDERPATCH" />
          <supported-method name="POST" />
          <supported-method name="PROPFIND" />
          <supported-method name="PROPPATCH" />
          <supported-method name="PUT" />
          <supported-method name="TRACE" />
          <supported-method name="UNLOCK" />
        </supported-method-set>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
  </response>
</multistatus>
于 2012-04-13T15:59:53.443 に答える