Cách thích hợp để đưa ra ước tính cho yêu cầu hoàn thành khi máy chủ trả về mã trạng thái 202 - Accepted
cho các yêu cầu không đồng bộ là gì?Trạng thái HTTP 202 - cách cung cấp thông tin về hoàn thành yêu cầu không đồng bộ?
Từ HTTP spec (nghiêng thêm bởi tôi):
202 Accepted
Yêu cầu đã được chấp nhận để xử lý, nhưng việc xử lý chưa được hoàn thành. [...]
Thực thể trả về với phản hồi này NÊN bao gồm chỉ báo trạng thái hiện tại của yêu cầu và một con trỏ đến màn hình trạng thái hoặc ước tính thời điểm người dùng có thể yêu cầu được hoàn thành.
Dưới đây là một số suy nghĩ:
- tôi đã liếc nhìn chỉ thị max-age, nhưng sử dụng nó sẽ được lạm dụng
Cache-Control
? - Trả về thời gian chờ đợi dự kiến trong nội dung phản hồi?
- Thêm một ứng dụng cụ thể
X-
tiêu đề phản hồi, nhưng tiêu đềX-
không được chấp nhận trong RFC 6648? - Thêm (không
X-
) tiêu đề phản hồi cụ thể? Nếu vậy, nó nên được đặt tên như thế nào? Câu hỏi SO Custom HTTP headers : naming conventions đã đưa ra một số ý tưởng, nhưng sau khi ngừng sử dụng nó chỉ trả lời các tiêu đề HTTP được định dạng như thế nào, không phải cách chúng được đặt tên. - Các đề xuất khác?
Cho rằng giá trị được cho là "số nguyên giây (trong thập phân) ", nếu chúng ta muốn có độ phân giải tốt hơn, sẽ là tiêu đề' X-Retry-After' với các giá trị trong ví dụ mili giây thích hợp hơn thay thế? –
@JosipRodin Tôi khuyên bạn nên sử dụng 'Thử lại sau: 0' thay vì phát minh tiêu đề tùy chỉnh vì thời gian khách hàng nhận được phản hồi một vài phần nghìn giây đã trôi qua và họ có thể thử lại ngay lập tức. Trong trường hợp hoạt động không đồng bộ, 'Retry-After: 0' dường như nói" kết quả chưa sẵn sàng, nhưng vui lòng hỏi lại (bất cứ khi nào bạn muốn). " – Gili
@Gili nhưng nếu tôi không muốn họ hỏi bất cứ khi nào họ muốn thì sao? Ví dụ: nếu số lượng lớn ứng dụng khách cách 150ms, đó là 6 yêu cầu mỗi giây, nơi tôi có thể có ý tưởng chỉ có 2 yêu cầu mỗi giây. –