2

HTTPステータスコード503は、サーバーが「サーバーの一時的な過負荷またはメンテナンスのために現在要求を処理できない」場合に関連するものとしてrfc2616に記述されています。

アプリケーションがメンテナンスのためにダウンしている場合があります。アプリケーションが容量を超えている場合があります。

私が開発しているサーバーアプリケーションでは、クライアントアプリケーションがサービスが利用できないより正確な理由を認識できるように、HTTP応答でこれら2つのケースを区別できるようにしたいと思います。

クライアントアプリケーションは、関連する場合、ユーザーに「容量超過」または「メンテナンスのためにダウン」の通知を表示できます。

未定義の5XXステータスコード(たとえば520)を使用することを選択できますが、定義された標準アプローチがある場合はそれを使用することをお勧めします。

容量の問題のために利用できないこととメンテナンスのために利用できないことをHTTP応答で区別するための定義された標準的なアプローチはありますか?

4

3 に答える 3

1

独自のステータス コードを定義したくない場合は、503 を使用して、"容量超過" か "メンテナンスのためダウン" であるかに応じて、さまざまなカスタム エラー メッセージを設定できます。

たとえば、メンテナンスが完了し、サーバーがバックアップされたことがわかっている場合などに、Retry-After 応答ヘッダー フィールドを設定することもできます。

ステータス コードの詳細:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Retry-After ヘッダー フィールドの詳細:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

于 2013-03-15T09:50:08.490 に答える
1

未定義のステータス コードを使用しないでください。ただし、それを登録するプロセスに進んで行く場合を除きます。

また、追加情報を追加するためにペイロード全体を利用できます。

最後に、 http: //greenbytes.de/tech/webdav/rfc6585.html#status-429が興味深いかもしれません。

于 2013-03-15T10:43:18.887 に答える