1. ホーム
  2. rest

ブラウザから送信されるHTTPリクエストのヘッダーを変更できますか?

2023-09-11 06:20:46

質問

restfulなデザインについて調べているのですが、HTTPメソッド( POST , GET ,...)とHTTPヘッダを可能な限り削除しました。私はすでに、HTTPメソッド PUTDELETE はブラウザからサポートされていません。

今度は、同じリソースを異なる表現で表示させたいと思います。 Accept ヘッダを変更することで行いたいと考えています。これによって Accept ヘッダによって、サーバは同じリソースに異なるビューを提供することができます。

問題は、このヘッダを変更するようにブラウザに指示する方法が見つからなかったことです。

<a..> タグには 型属性 があり、MIME タイプを持つことができるため、良い候補のように見えましたが、ヘッダーはまだブラウザのデフォルトのままでした (Firefox では about:config を使用して network.http.accept.default のキー)を使用します。

どのように解決するのですか?

あなたのやろうとしている方法では無理だと思います。

受け入れられるデータ形式の表示は、通常、リソース名に拡張子を付けることで行われます。ですから、もしあなたが以下のようなリソースを持っているなら

/resources/resource

GET /resources/resource はHTML表現を返しますが、代わりにXML表現が必要な場合は、次のパターンを使用します。

/resources/resource.xml

サーバ側で受け入れ可能なコンテンツタイプ決定の魔法をかける必要があります。

あるいは、Jamesが提案するようにJavascriptを使用する。