問題タブ [httpresponsemessage]
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.
java - ジャージー応答の理由フレーズは、Tomcat 7 と 8.5 で一貫性がありません
あるサーバーで Tomcat 8.5 を使用し、別のサーバーで Tomcat 7 を使用しており、次の jersey リソースがあります。
MyApplication
(extends ResourceConfig
)に登録するのはどれですか@ApplicationPath("root")
JMeter/Postman を使用して (/root/main/path に) リクエストを送信すると、HTTP の理由フレーズに一貫性がなくなります
クライアントは、Reason-Phrase を調べたり表示したりする必要はありません。
プロトコルに必須ではないもの
ここにリストされている理由のフレーズは単なる推奨事項です。プロトコルに影響を与えることなく、ローカルの同等のものに置き換えることができます.
Tomcat 7 サーバーから 200 OK の「有効な」応答が表示されます。
Tomcat 7 サーバーからの 200 200 の「無効な」応答 (同じ要求) :
応答を確認すると、理由フレーズの更新に関する参照が見つかりません。この不一致は無視する必要がありますか、それとも修正できますか?
編集
私のアプリケーションは、JacksonFeature も登録します。
編集2
実際、2 番目の環境に余分な jar があることがわかりました。
一般的な瓶:
編集3
Tomcat 8.5 で理由フレーズが削除されたというバグを見つけました
Christopher Schultz : Tomcat が積極的に理由句を取り除いているのを見て驚きました。私は当初、Tomcat によって生成されたすべての応答 (たとえば、DefaultServlet からのすべてのもの、さまざまな内部エラーなど) から理由句を単純に削除していると考えていましたが、アプリケーションによって明示的に設定された理由句を積極的に削除しています。
Michael Osipov: いいえ、理由のフレーズは送信されません。HTML エラー ページのみ。前回 ErrorReportValve を書き直したのでわかります。
編集4
関連する質問を見つけましたが、完全には理解できませんでした
Tomcat 8.5 では、応答から「HTTP ステータス理由フレーズ」が削除されたため、応答で HTTP 200 OK ではなく HTTP 200 が返されます。ステータス コードをステータス理由フレーズに複製して表示するソフトウェアからの観察結果である可能性があります。
ステータスコードをどのように観察していますか? プロトコル トレースを実行すると、Tomcat / httpd から送信されるステータス コードが 1 つしかないことがわかる場合があります。「ダブル ステータス コード」は、実際には (通常の) ステータス コードではなく、たまたまステータス コードと同じテキストである理由フレーズではないですか?
c# - System.Net.Http.HttpResponseMessage を System.Web.Mvc.ActionResult に変換する方法
「/xController/xMethod」のような「URL アドレス」を取得し、HttpClient によって別の Web アプリケーションから結果を取得して結果を表示する単純なプロキシ アプリケーションを作成しています。
私の方法:
リクエストをブラウザに表示したいのですが、レスポンスがファイルの場合はブラウザがコンテンツをダウンロードし、レスポンスがJsonの場合はJsonとして表示します。
(たとえば) HTML をいつ表示したいかはわかっています。私は使っている :
または、 JsonActionResult を使用して html として、または FileContentResult を使用して File に戻りたいが、HttpResponseMessage を Best ActionResult クラスに変換するための高速で信頼性の高いソリューションが必要な場合