當服務器返回異步請求的202 - Accepted
狀態碼時,給出請求完成的估計值的適當方式是什麼?HTTP狀態202 - 如何提供關於異步請求完成的信息?
從HTTP spec(由我加入斜體):
202接受
的請求已被接受處理,但是處理尚未完成。 [...]
實體與該響應中返回應包括請求的當前狀態的指示和任一個指向狀態監視器或當用戶可以期望該請求被滿足的一些估計。
這裏有一些想法:
- 我已經在max-age指令掃了一眼,但使用它會被濫用
Cache-Control
? - 在響應主體中返回預期的等待時間?
- 添加應用程序特定的
X-
響應標題,但X-
標題已在RFC 6648中棄用? - 添加(非
X-
)特定響應標頭?如果是這樣,它應該如何命名? SO問題Custom HTTP headers : naming conventions提供了一些想法,但在棄用之後,它僅回答HTTP頭的格式化方式,而不是如何命名。 - 其他建議?
鑑於該值應該是「秒整數(以十進制)「,如果我們想要一個更好的解決方案,將一個」X-Retry-After「標頭的值設置爲例如毫秒更合適嗎? – 2016-11-09 16:39:58
@JosipRodin我建議使用'Retry-After:0'而不是發明一個自定義標題,因爲當客戶端得到響應時,幾毫秒就會過去,他們可以馬上重試。在異步操作的情況下,'Retry-After:0'好像在說「結果還沒有準備好,但隨時可以再次詢問(只要你願意)」。 – Gili 2017-04-19 04:56:13
@吉利,但如果我不想讓他們隨時詢問他們會怎麼辦?例如,如果大部分客戶端都是150毫秒,那麼每秒6個請求,我可能有每秒只有2個請求的想法。 – 2017-04-19 08:39:24