2013-02-12 5 views
6

クライアントに与える最も適切なHTTPステータスコードは「リクエストは正常ですが、まだ進行中です。まったく同じ場所でまもなく確認してください"「進行中のジョブ」の最も適切なHTTPステータスコード

たとえば、クライアントが重いクエリを開始するための最初の要求を送信し、サーバーがクライアントが結果を定期的にポーリングできるURLを返すとします。ジョブが完了する前にクライアントがこのURLを呼び出す場合、返す最も適切なHTTPステータスコードは何ですか?

202受け入れる私の最初の衝動でしょう。これは最善のものか、RESTインターフェースでこの目的のためにもっと慣れ親しんでいる方が良いでしょうか?

答えて

16

私には、202受け入れは行く最善の方法でしょう。

W3CのWebサイトのdocumentationを参照してください。

10.2.3 202受け入れ

リクエストは、処理のために受け入れられたが、処理が完了し いません。実際に処理が行われたときに許可されない可能性があるため、要求は最終的には になります。 このような非同期操作 からステータスコードを再送信する機能はありません。

202応答は意図的にコミットされません。その目的は、 が、サーバへのユーザエージェントの接続が、処理が完了するまで、 まで続くことを要求することなく、サーバがある他のプロセス(おそらく バッチ指向のプロセス)の要求を受け入れることを許可することです。 。この応答で返されたエンティティ は、要求の現在の状態の表示と、 ステータスモニタへのポインタ、またはユーザ が要求が実行されると予想できる何らかの見積もりを含めるべきです(SHOULD)。

関連する問題