カスタム HTTP ステータス コードを作成できますか? 質問する

カスタム HTTP ステータス コードを作成できますか? 質問する

REST および WCF サービスがあり、操作に基づいてカスタム ステータス コードを送信したいと考えています。

たとえば、検証に失敗した場合はHTTP 444を送信し、認証に失敗した場合はHTTP 455を送信します。

問題は、SOAP と REST Web サービスの両方でこれをどのように検証するかということです。

WCF サービス (SOAP を使用) から HTTP 400/500 を送信すると、クライアントで例外がスローされ、ステータス コードが表示されるため、クライアントではエラー コードはどのように動作しますか?

新しいカスタム ステータス コードを送信すると、クライアントはこれをどのように処理するのでしょうか?

ベストアンサー1

はい、クラスを尊重する限り、つまり成功の場合は 2xx、クライアント エラーの場合は 4xx などです。したがって、独自のアプリケーションのエラー条件に対して、カスタム 4XX エラー コード (割り当てられていないものが望ましい) を返すことができます。

[RFC 2616][1]から引用すると:

「HTTP ステータス コードは拡張可能です。HTTP アプリケーションは、登録されているすべてのステータス コードの意味を理解する必要はありませんが、理解することが望ましいことは明らかです。ただし、アプリケーションは、最初の数字で示されるステータス コードのクラスを理解し、認識されない応答をそのクラスの x00 ステータス コードと同等として処理する必要があります。ただし、認識されない応答はキャッシュしてはいけません。たとえば、クライアントが認識されないステータス コード 431 を受信した場合、クライアントは要求に何らかの問題があると安全に想定し、400 ステータス コードを受信したかのように応答を処理できます。」

クラス'

  • 1xx: 情報 - リクエストを受信しました。処理を続行します

  • 2xx: 成功 - アクションが正常に受信され、理解され、受け入れられました

  • 3xx: リダイレクト - リクエストを完了するには、さらにアクションを実行する必要があります

  • 4xx: クライアント エラー - リクエストに不正な構文が含まれているか、リクエストを処理できません

  • 5xx: サーバーエラー - サーバーは明らかに有効なリクエストを処理できませんでした [1]:

https://www.rfc-editor.org/rfc/rfc2616#section-6.1.1

おすすめ記事