4

複数の一意の識別子があるため、リソースの 1 つに複数の URI を持つ RESTful Web サービスを構築しています。サーバーはリソースを返すことによって代替 URI の GET 要求に応答する必要がありますか、それとも正規の URI に HTTP 3xx リダイレクトを送信する必要がありますか? HTTP 303 (参照)は最も適切なリダイレクトですか?

明確化: HTTP 仕様では、リダイレクトの選択は今後のリクエストで使用する URI に依存することが明確になっています。私のアプリケーションでは、「正規の」URI が代替案の中で最も安定しています。代替 URI は、常に同じ正規 URI に向けられるか、無効になります。

4

3 に答える 3

4

個人的には、リダイレクトをいじくりまわすのではなく、リソースを返すことにふっくらしたいと思いますが、それは、潜在意識がリダイレクトが遅いと言っているからだと思います。

ただし、リダイレクトを使用する場合は、303 よりも 302 または 307 の方が適していると思いますが、w3.orgには、使用できるさまざまなリダイレクト コードの詳細が記載されています。

于 2008-08-28T07:59:53.457 に答える
2

W3C のArchitecture of the World Wide Web, Volume Oneの下に、URI エイリアスに関するセクション (セクション 2.3.1 ) があり、次のように述べられています。

「URI エイリアスが一般的な通貨になった場合、URI 所有者はサーバー側のリダイレクトなどのプロトコル技術を使用して 2 つのリソースを関連付ける必要があります。URI 所有者がエイリアス URI の対応する「公式」URI へのリダイレクトをサポートすると、コミュニティに利益がもたらされます。リダイレクトの詳細については、 RFC2616のセクション 10.3, Redirection を参照してください。サーバー管理者向けのベスト プラクティスについては、CHIPSも参照してください。

価値があるので、302 リダイレクトをお勧めします。

于 2008-08-28T08:26:01.710 に答える
1

Ubiguchi からの回答には、応答コードに関する HTTP 1.1 仕様セクションへのリンクを介してリダイレクトする方法があると考えていることを除いて、必要なものがありました。リダイレクト先の URI はより「正確」で安定しているため、実際には 301 リダイレクトが必要であることがわかりました。したがって、将来のリクエストに使用する必要があります。

于 2008-08-28T13:27:57.850 に答える