問題タブ [http-status-code-406]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - 受け入れ可能な MIME タイプの IIS 7.x の既定のリストを application/json 以外に変更することはできますか?
私は一連の REST サービスに取り組んでおり、データを返すすべてのリソース呼び出しの戻り値の型として、JSON と BSON の両方、およびおそらく XML をサポートする予定です。application/json を機能させるのは簡単なことでしたが、IIS 7.x でホストされている場合、IIS 自体からデフォルトの 406 エラーが発生し、ルートで application/json のみが受け入れられることを示しています。私たちのルートはすべて、次のように拡張子がないことに注意してください。
http://localhost/SomeEntity/12345
クライアントの HTTP Accept ヘッダーで指定された最も優先されるコンテンツ タイプに従ってデータをシリアル化することをお勧めします。text/xml または application/xml が指定されている場合は、xml を送信します。application/bson が指定されている場合は、BSON などを送信します。最終的には、必要に応じてプロトコル バッファまたはその他の高速シリアル化アプローチを使用できるように、あらゆるコンテンツ タイプをサポートしたいと考えています。
IIS 7 が、拡張子のないリソース URL によって返される唯一の許容可能なコンテンツ タイプとして application/json をハード コードしているように見える理由を知っている人はいますか?
サーバー レベルと各サイト レベルの両方で MIME タイプの設定を調べました。の/マッピングを追加しました。拡張子、および .* 拡張子。単に * のマッピングを追加することはできないようです。正直なところ、そもそも IIS 7 が要求をルーティングする方法を正確に把握することさえできません。ExtensionlessUrlHandler-Integrated-4.0 は、PUT 動詞の通過を許可しないため、方法ではないようですが、PUT 動詞は正常に機能します。UrlRoutingModule-4.0 などのモジュール経由であるかどうかはわかりません。IIS 7 で ASP.NET MVC 3 ルートがどのように処理されるのか、それらが機能する理由、または拡張子のない要求で許可されるコンテンツ タイプをどこで構成できるのかについて、私は完全に途方に暮れています。許可したい/、明示的な MIME タイプのセットに限定されるのではなく、明示的なセットが必要な場合は、これを機能させることができれば喜んでそうします。
例:
リクエスト
GET http://some.host.com/Resource/1234 HTTP/1.1
ホスト: internalinterop-course-resources.ecollege-labs.com
受け入れる: application/json
GET http://some.host.com/Resource/1234 HTTP/1.1
ホスト: internalinterop-course-resources.ecollege-labs.com
Response
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
サーバー: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
日付: Wed, 29 Feb 2012 23:34:38 GMT
コンテンツの長さ: ??
{"メッセージ":"ヤッダヤッダ"}
リクエスト
GET http://some.host.com/Resource/1234 HTTP/1.1
ホスト: internalinterop-course-resources.ecollege-labs.com
受け入れる: application/xml
応答
http-status-code-406 - 要求されたリソース /page.php の適切な表現がこのサーバーで見つかりませんでした
私のウェブサイトのページには、次のようなリンクがあります。
リンクをクリックすると、次のエラーが表示されます。
これは、ライブ HTTP ヘッダーを介してキャプチャしたヘッダー情報です。
編集:
selectquizからパラメータ値を次のように変換すると、
selectq selectqu ... selectquizになるので、それは本当に奇妙です
うまくいきませんが、入力selec
するとOKです!! (すべてのブラウザで)
spring-mvc - 戻り型の @ResponseBody ; Accept ヘッダーの 406 エラー
私はSpring MVCを使用しています
私の設定ファイルで。
私のコントローラーメソッドは
jre1.7の使用
まだ受け入れヘッダーの HTTP ステータス 406 エラーが発生しています。
javascript - 同一の.jsonポストコールで406を引き起こしている可能性があるのは何ですか?
ドラッグアンドドロップ機能を使用する重いJavaScriptベースのアプリを使用しています。
それはうまくいきます。しかし、動的オブジェクト(他のオブジェクトとまったく同じ属性と変数を持つ)をページに追加すると、ドラッグされますが、ドロップすると、POSTは406を返します。
この呼び出しが行われる前に必要になる可能性のある環境リスナーを再インスタンス化するため、ここで何が起こっているのか完全にはわかりません。私はこれへの呼び出しを分解しました:
.cranbar
動作している既存のオブジェクトはどこにありますか。動的に追加されたものと同じものに切り替えると.foobar
、406が返されます。
このスニペットはmake_droppable
、オブジェクトがインスタンス化された後、ドラッグアンドドロップを試みる前にロードされるメソッドからのものです。
この406のソースを見つけるために私ができることを誰かが知っていますか?
アップデート
これはおそらくそれと多くの関係があります。しかし、私は今ヘッダーを比較しています。
失敗した投稿:
成功した投稿:
spring - SpringRESTを消費するとHTTPステータス406になります-受け入れられません
REST APIを使用しようとすると、次のエラーが発生します。
実行されるクライアントコードは次のとおりです。
リクエストをマッピングするコントローラーのコードは次のとおりです。
マッパーが正しいタイプへのマッピングを処理する必要があるのに、なぜこのエラー(406-受け入れられない)が発生するのですか?
http - 「クライアントが間違ったフォーマットを要求しました」のステータス コードはどれですか?
「クライアントが間違った形式を要求した」場合に使用するのに最適な HTTP ステータス コードはどれですか。たとえば、クライアントが要求format=json
したデータは XML としてのみ利用可能ですか? 私は 406 を使用する傾向がありますが、これはAccept
ヘッダーを指しますが、私のユースケースでは、形式はクエリ文字列のパラメーターとして指定されます。
とにかく406は正しいコードですか?
ありがとう
javascript - PHPプロキシなしのクロスドメイン
このページでは、 Javascript を使用して Google マップを埋め込み、ドメインにロードされた静的 KML ファイルからデータをロードしています。Google サーバー (ネットワーク リンク) に保存されている動的 KML ファイルからデータをロードするマップを改善したいのですが、クロスドメインの制限があるため、これを直接行うことはできません。PHP プロキシを使用してみましたが、ホスティング サービスで許可されていません。(理由は聞かないでください。エラー 406 の応答が返され、カスタマー サービスは、この種の要求はフィルターによってブロックされていると言っていました!)
では、プロキシなしでクロスドメインを実行するにはどうすればよいでしょうか?
これは kml ファイルを提供するリンクです: http://maps.google.com/maps/ms?authuser=0&vps=2&hl=en&ie=UTF8&lr=lang_en|lang_fr|lang_it&oe=UTF8&msa=0&msid=201512616711333791415.0004c56e9ca3fb71ba551&output=kml
ありがとうございました!
ruby-on-rails - Rails、Devise Invitations 406 STI の許容できないエラー
同様の質問がありますが、私はそれらを調べましたが、どれも適用されませんでした。
私はDeviseとDevise の招待状を使用しています。レール 3.2.6.
難しいのは、2 つのユーザー モデルがあることです。ユーザーと、アーティストがユーザーから継承する単一テーブル継承セットアップ。ユーザーとアーティストの両方に招待状を個別に送信できるように、2 つの招待状コントローラーがあります。
現在の問題は、アーティストが招待を受け入れることができないことです。パスワードを更新するためにフォームを送信すると、406 許容できないエラーが発生します。
関連コード:
ルーティング:
アーティスト招待コントローラー
フォームの説明。edit.html.erb.
ヘッダーを受け入れる
戻り値
その .user を最後に追加する応答のために、フォーマットの何かがオフになっている必要があることがわかります。なぜ、どこでそれが起こっているのか、一生わからない。私が省略した情報があれば教えてください。
javascript - XSS 406 Not Acceptable 複数のページ情報を取得しようとしています
私の学校は現在、コースを掲載するウェブサイトを持っています。メインページに表示される情報の一部を改善するために、他のページの他の情報をリクエストし、Chrome 拡張機能を介してサイドバーに配置しようとしています。この情報を表示しようとするとログインする必要があり、HTTPS です。ただし、別のページから成績を引き出すことはできます。しかし、割り当てを取得しようとすると、GET 406 Not Acceptable Errorが返されます。
私の理解では、すでにログインしている場合は、API を認証したり使用したりする必要はありません。間違っているかもしれませんが、それが私がここにいる理由です。406 エラーが発生するのはなぜですか?
http - :原因406受け入れられない
私は乗る406 Not Acceptable
:
しかし、上ではありません:
唯一の違いは:
どうすれば解決できますか?