0

そのため、返されたデータに複数の有効な MIME タイプが含まれている可能性があるリクエストに関して、HTTP コンテンツ ネゴシエーションで何をすべきか疑問に思っていました。

たとえば、次の MIME タイプを持つ任意のデータがあるとします。

text/data,application/x-data,application/data+xml

複数の MIME タイプが考えられる場合、Web アプリケーションからこの形式のデータを要求するクライアント アプリケーションは、要求の Accept ヘッダーで使用する MIME タイプに関係なく、その種類のデータを受信することを合理的に期待する必要があります。しかし、どのタイプがこのデータの正規のタイプであるかについては、一般的にある程度のコンセンサスがあります (つまり、1 つは IETF に適切に登録された MIME タイプであり、その他は登録前または標準化前のタイプです)。

したがって、私の質問は、これらのリクエストに返信する際に、返された Content-Type ヘッダーを正規のタイプまたは要求されたタイプに設定する必要がありますか? どちらがより良い練習ですか?

更新されていない古い/不十分に作成されたアプリとの互換性を確保するために、常に正規型を返す必要がありますか?それとも、要求された型をエコー バックする必要がありますか? 現在、これはより良いアプローチであり、ほとんどの人が私が扱っているデータ型で行っていることであるため、正規型を返しています。

これはやや主観的なものなので、質問ではなくコミュニティ wiki にする必要があると思われる場合はお知らせください。変更を検討します。

4

1 に答える 1

0

ユーザー エージェント (クライアント アプリケーション) がリソースを要求すると、その単一の要求されたリソースに対していくつかの異なる MIME タイプをビーコンします。これは、互換性の理由から、ユーザー エージェントが何を受け入れることができるかを Web サーバーに知らせるために発生します。リソースの MIME タイプが実際にどうなるかを判断するのは、サーバーの仕事です。

適切な応答を見つけるために、サーバー側でいくつかの決定を下しても害はありません。たとえば、すべての HTML ページを XML として提供したいが、主要なユーザー エージェントが必要な MIME タイプをサポートしていない場合は、PHP や ASP などの支援技術を使用して動的な応答を提供できます。この例の場合、正しい MIME タイプを標準として設定し、ユーザーエージェントが標準をサポートしていない場合は、サポートする別のものを提供し、それ以外の場合は全員が標準を取得することをお勧めします。

于 2009-08-24T07:52:58.740 に答える