2012-01-08 4 views
0

誰かがhttpを介して私のサーバにアクセスする(つまり、httpsでない)場合、私はGETリクエストをhttpsバージョンにリダイレクトします。安全でないPOSTのために返す応答コードは受け入れられませんか?

しかし、私はそれらをリダイレクトすることができないので、私はPOSTとPUTをどうすればいいのかわかりません(ブラウザは私が思うリダイレクトでGETを行います)。

エラーコードを返す必要があります。 返されるHTTPエラーコードは何ですか?

答えて

-1

http://www.ietf.org/id/draft-ietf-httpbis-p2-semantics-18.txtは、HTTP応答コードについて説明しています。エラーコードが必要な場合は、そのURLでリクエストを処理できない場合は404を返します。

7.4.5。 404が見つかりませんでした

サーバーは有効なリクエストURIと一致するものは見つかりませんでした。 条件が一時的であるか、または が永続的であるかは示されません。サーバ が、内部で設定可能なメカニズムによって、古い リソースが永久に利用不可能であり、転送先アドレスがないことがわかっている場合には、410(Gone)ステータスコードを使用すべきです(SHOULD)。 このステータスコードは、サーバが に拒否された理由を正確に明らかにしたくない場合、または他の回答がない場合によく使用されます。

+0

あなたの答えに感謝します。私はあなたのすぐ後の答えに記載されている403が、404より良いかどうかは分かりません。 – necromancer

+0

一方の決定要因は、そうでなければ有効であるかどうか(すなわち、httpsを介して送信される場合)である。私はそれが有効だろうと確信したら私は403が望ましいと思う。すべての安全でない投稿を無差別にフィルタリングするフィルタであれば、それが有効なURLかどうかを知ることができないため、404が良いかもしれません。 – necromancer

+0

@agksmehx、403は異なる資格情報を含む場合に有効なリクエスト用です。あなたの状況ではそうではありません。 –

1

通常、403-Forbiddenを返します。これの一般的な説明は「サーバーは要求を理解しましたが、許可することを拒否しました」です。それはあなたの状況に合っています。

+0

ありがとう、私は403が404より良いと思う傾向がありますしかし、私は確信していません。私はもう少し確信した後、私はあなたの答えを受け入れるだろう。 – necromancer

+0

1つの決定要因は、そうでなければ有効であるかどうか(すなわち、httpsを介して送信される場合)である。私はそれが有効だろうと確信したら私は403が望ましいと思う。すべての安全でない投稿を無差別にフィルタリングするフィルタであれば、それが有効なURLかどうかを知ることができないため、404が良いかもしれません。 – necromancer

+0

403は依然として優れた選択です。 - >この状況で特にHTTP 403用のサブ状態のエラーコードがあります。 403.4が「SSLが必要です」というのはあなたの状況です。私はこのための特定のRFCがあるとは思わないが、ApacheとMicrosoft IISの両方がこれを指定しているので、少なくともdefacto標準である。リファレンス:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/21079107-1740-470e-a933-23a45494b8ba.mspx?mfr=true – jeffsix

関連する問題