1

APIのみのajaxと投稿が受け入れられることをユーザーに最もよく通知するhttp応答コードはどれですか?

たとえば、ajax リクエストのみを許可するコントローラーがあり、これらは取得ではなく投稿する必要があります。

そのため、エンド ユーザーが ajax 以外を使用して get または post を使用して要求した場合、これが許可されていないことを示す応答を受け取る必要があります。

これらのいずれかがこれに対する最良の応答でしょうか。

400 403 405

4

2 に答える 2

1

HTTP には、XmlHttpRequest (AJAX と呼びます) によって開始された要求と、他の HTTP クライアントまたはブラウザーによって直接行われた要求を区別するためのステータス コードがありません。

非 ajax リクエストとは、ブラウザに URL を入力する (またはリンクをクリックする) ことによって直接行われるリクエストを意味すると思います。ブラウザが GET リクエストを実行することを意味します。

HTTP では、特定のリソースに対して許可された一連の HTTP メソッドを指定できます。

ユースケースを満たすには、POST メソッドのみが許可されていることを指定できるステータス コードが必要です。

405 - メソッドは許可されていません

Request-URI で識別されるリソースに対して、Request-Line で指定されたメソッドは許可されていません。応答には、要求されたリソースの有効なメソッドのリストを含む Allow ヘッダーが含まれている必要があります。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6

実際には、サーバーが GET、PUT、DELETE メソッドに対して 405 を返すことを意味します。

于 2013-06-05T19:03:59.573 に答える
1

400 - 不正なリクエスト、405 - メソッドは許可されていません

形式や方法ではなく、アクセス許可に関して、あなたは 405 、 403 は禁止されていると思います。不正なリクエストは、禁止されたパラメータの組み合わせである可能性があります

于 2013-06-05T17:46:48.553 に答える