2013-01-06 11 views

答えて

16

主な理由は、クライアント(および一部のサーバーでも)が表現のある場所を格納していないことです。たとえば、wget http://.../foo.jsonの場合、表現はディスクに保存されますが、フェッチされたURIは表示されません。表現に埋め込まれない「自己」のリンクがない場合、これは二つの問題が発生しません:ドキュメント内の

  1. 相対リンクはもはや解決に対するベースを有していてもよく、したがって、「壊れた」になります。および

  2. クライアントには、たとえばどこに、というような埋め込み概念がありません。 PUT文書を変更した場合、文書をサーバーに送り返します。いくつかのクライアントはこの情報を独立して管理していますが、ほとんどのクライアントはそうしません。

それは表現が人生うまく外のHTTPの会話を持っていることを理解することが重要だ、とさえ他のプロトコル(電子メール、FTP、本の中で、など)を介して転送することができます。経験豊富なメディア型設計者は、通常、「自己」リンクを含むことになる。

1

リソースが返されると、完全な表現ではない可能性があります。 selfリンクは完全な表現にアクセスするためのURLを提供する必要があります。

GET /objects

[ 
    { 
    "name": "tech", 
    "links": [ 
     "rel": "self", 
     "href": "/objects/1" 
    ] 
    }, 
    { 
    "name": "book", 
    "links": [ 
     "rel": "self", 
     "href": "/objects/2" 
    ] 
    } 
] 

GET /objects/1

{ 
    "name": "tech", 
    "ratio": 1, 
    "precision": 2, 
    "links": [ 
    { 
     "rel": "self", 
     "href": "/objects/1" 
    } 
    ] 
}  
関連する問題