問題タブ [http-status-code-303]
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.
c# - asp.netで303応答を作成する方法
httpステータスコード303(SeeOther)を使用して、ASP.NETで現在のリクエストをリダイレクトする方法を知っている人はいますか。
コード スニペットは大歓迎です。
http - HTTP 303は他のHTTPメソッドで受け入れられますか?
RESTful Webサービスでは、 HTTP 303を使用して、クライアントをリソースの正規表現にリダイレクトすることを推奨しています。のコンテキストでのみトピックについて説明しますHTTP GET
。
これは他のHTTPメソッドにも当てはまりますか?クライアントが非正規URIに対してHTTP PUT
またはを試行した場合、 HTTP 303を返すことは許容されますか(および/または推奨されますか)?DELETE
ベストプラクティスとその理由は何ですか?
rest - URIの正規化にはどのHTTPステータスコードを使用する必要がありますか?
RESTful Webサービスでは、 HTTP 303を使用して、クライアントをリソースの正規表現にリダイレクトすることを推奨しています。
この本によると、HTTP 302は303(「その他を参照」)と307(「一時的なリダイレクト」)に置き換えられました。HTTP 301(「永続的なリダイレクト」)もあります。クライアントはHTTP301および307をキャッシュできますが、303はキャッシュできません。
これに照らして、どのステータスコードが適切な正規化ですか?なぜ本は307よりもHTTP303の使用を提唱しているのですか?結局のところ、後者はキャッシュ可能です。
http-status-codes - サーバーはリダイレクトの前に操作を実行する必要がありますか?
HTTP 303は他の HTTP メソッドで受け入れられますか? HTTP 303を他の HTTP メソッドに使用できることを確認しました。
Post/Redirect/Getパターンでは、サーバーが を返す前に操作を実行する必要がありますHTTP 303
。HTTP PUT
これとDELETE
他のタイプのリダイレクトについても同じことが言えますか? サーバーは、リダイレクトの前に操作を実行する必要がありますか? それとも、クライアントが必要に応じて正規の URL でリクエストを繰り返すと想定できますか?
これは、リダイレクトが負荷分散によく使用されるという事実を考慮すると、さらに興味深いものになります。
rest - HTTP 303は非同期操作に有害であると見なされますか?
非同期操作用のRESTfulAPIを調査しているときに、次のデザインパターンに遭遇しました。
POST uri:longOperation
戻り値:
- HTTP 202
- 場所:uri:pendingOperation
GET uri:pendingOperation
戻り値:
- 操作が実行されている場合
- 進捗レポートを返します。
- 操作が完了した場合
- HTTP 303
- 場所:uri:operationResponse
GET uri:operationResponse
- 非同期操作の応答
最後のステップは疑わしいと思います。HTTP GET
非同期操作が、などの意味をなさないエラーコードで完了した場合にどうなるかを考えてみてくださいHTTP 409 ("Conflict")
。
- uri: operationResponseではなくuri:pendingOperation
HTTP 303
に関連付けられた応答を指す必要はありませんか? - このように使用
HTTP 303
することは有害であると見なされますか?そうでない場合、なぜですか? - これが私たちにできる最善のことですか、それとももっと良い方法がありますか?
redirect - Joomla の外部ファイルへのリンク - テストでのみ動作
Joomla 2.5 に非常に負担のかかる問題があり、答えが見つかりません。いくつかのリンクがあるページがあります。各リンクは www.myhost.com/joomla/custom_dev/myscript.php?foo=bar のようなものです。myscript.php は Joomla の一部ではない外部スクリプトですが、一部の機能には Joomla のフレームワークが必要です。
だから私は古典的なコードを使用します:
私のテスト環境ではうまく機能します。
しかし、ライブサーバーでは、404 エラーが発生しました。FireBug を使用すると、外部ファイルへのリンクがまったく機能しないことがわかりました。303 リダイレクトに進み、次に 404 エラーに進みます。私は多くのことを試しました...そして今、私はこの問題の原因を見つけました:
この行がないと、リダイレクトは行われず、リンクは機能します。しかし、私はフレームワーク機能を持っていません (そして私はそれらが必要です!)。
また、スクリプトに直接アクセスしようとしました。
www.myhost.com/joomla/custom_dev/myscript.php?foo=bar with $mainframe->initialise() -> 404 エラーが発生しました (多くの 303 リダイレクトが原因)
www.myhost.com/joomla/custom_dev/myscript.php?foo=bar without $mainframe->initialise() -> エラーなし、Joomlaのフレームワークなしで表示できるものを表示...
私は十分に明確だったと思います!
編集: カスタム 404 ページを削除しましたが、本当の 404 の理由は、カテゴリが見つからないことです。www.myhost.com/joomla/custom_dev/another_script.php を試してみると、エラーはありません。
編集 2: 別の情報: $mainframe->initialise() を使用すると、URL のどこかに言語が自動的に追加されるように見えるため、www.myhost.com/joomla/custom_dev/en/myscript.php?foo になります。 =バー
javascript - jquery で 303 ステータス コードに対応する (リダイレクトを防止する)
特定のサーバーにリクエストを送信すると、303 レスポンスが返され、続いてリクエストされたレスポンスと 200 ステータス コードの組み合わせが返されます。面白いことに、これは開発者コンソールのネットワーク ビューにしか表示されません。$.ajax() リクエストのステータスコードとレスポンスを確認すると、2 番目のリクエストのレスポンスと 200 http ステータス コードが表示されます。
問題は、2 番目の要求が (ステータス コード 200 ですが) キャッシュされているように見えることです。キャッシュできないようにする必要があります。したがって、http 303 ステータス コードで発生する転送プロセスに介入したいと考えています。jquery 関数でステータス コードをチェックしてから、サーバーに応答をキャッシュしないように指示する明示的なヘッダーを含む get 要求を送信したいと思います。
(前述のように) jQuery.ajax メソッドは転送されたリクエストのレスポンスとステータス コード (200) で応答するため、これを行う方法がわかりません。
手伝って頂けますか?
編集
10.3.4 303 その他を参照
リクエストへのレスポンスは別の URI で見つけることができ、そのリソースで GET メソッドを使用して取得する必要があります。このメソッドは主に、POST でアクティブ化されたスクリプトの出力がユーザー エージェントを選択したリソースにリダイレクトできるようにするために存在します。新しい URI は、最初に要求されたリソースの代替参照ではありません。303 応答はキャッシュしてはなりませんが、2 番目の (リダイレクトされた) 要求に対する応答はキャッシュ可能かもしれません。
たぶん、ユーザーエージェントが自分自身をリダイレクトするのを何らかの形で防ぐ必要があるので、リダイレクトを行うことができますか?
または、クライアント側からの 2 番目の要求をキャッシュしないようにサーバー/ブラウザーに単純に指示する方法はありますか? または私のリクエストをリダイレクトしないようにするには?または少なくともリダイレクトする前に2番目のリクエストを変更しますか?
rest - 登録のためにD2lを呼び出すRESTメソッドですが、ステータス303を返します
REST メソッドを使用してユーザーを登録しようとしています。ユーザーが存在し、エンドポイントとして使用しています/d2l/api/lp/1.0/enrollments/
ユーザーを作成し、他の呼び出しを実行できたので、params と sign params は正しいです。
しかし、その電話に対して私が得ている唯一の応答は
リダイレクトする URL など、他には何もありません。
誰かがすでにこれを経験していますか?または、私が間違っている可能性のあることのヒントはありますか?
ありがとう。
php - joomla BASE HREF は HTTPS の代わりに HTTP を使用します
http
サイトを からに変更したいと考えていましたhttps
。いつも。
したがって、それに応じてApacheを構成しました。サイトの URL ( https://steamnet.de ) を入力すると、インデックス サイトは正常に読み込まれますが、参照されている要素 (CSS、画像など) は読み込まれません。
base href
が設定されていて、そこでhttp://steamnet.de/
使用されていないため、そうしているように思えますhttps
。混合コンテンツをロードしないように Firefox を構成しました。
base href
では、Joomla に to を設定するhttps://steamnet.de
(または、サイトを完全に作成する) ように指示するにはどうすればよいssl
ですか?
$force_ssl
joomla 構成のグローバル ssl 強制要素 (ドイツ語では「SSL erzwingen」、英語では「すべて」) を「すべて」に設定しようとしましたが、サイト自体にリダイレクトするconfiguration.php
無限エラーでサイトが壊れます。(後付けとして:ここの代わりに303
を見つけて驚いた。誰かがそれを説明できればありがたい)303
301
( Laoneoはいくつかの解決策を提案しましたが、うまくいきませんでした。完全を期すために、ここにリストを示します)
- URLに設定
$live_site
します。https
$sef
変更して$sef_rewrite
役立つかどうかを調べます。
Apache ログ:
access.log
error.log
アクセスには何も含まれていませんが、次の行が含まれていますreload