Tôi có một tập hợp các tài nguyên có các đại diện được tạo một cách lười biếng. Việc tính toán để xây dựng các biểu diễn này có thể mất từ vài mili giây đến vài giờ, tùy thuộc vào tải máy chủ, tài nguyên cụ thể và giai đoạn của mặt trăng.
Yêu cầu GET đầu tiên nhận được cho tài nguyên bắt đầu tính toán trên máy chủ. Nếu quá trình tính toán hoàn thành trong vòng vài giây, biểu diễn đã tính sẽ được trả về. Nếu không, mã trạng thái 202 "Được chấp nhận" sẽ được trả về và khách hàng phải thăm dò tài nguyên cho đến khi có bản đại diện cuối cùng.
Lý do cho hành vi này là sau: Nếu một kết quả có sẵn trong vòng vài giây, nó cần được truy xuất càng sớm càng tốt; nếu không, khi nào nó có sẵn là không quan trọng.
Do bộ nhớ hạn chế và khối lượng yêu cầu tuyệt đối, không phải NIO cũng như bỏ phiếu dài đều không phải là một lựa chọn ( tức là tôi không thể mở gần như đủ kết nối, thậm chí tôi không thể phù hợp với tất cả các yêu cầu trong bộ nhớ; một lần "vài giây" đã trôi qua, tôi vẫn tiếp tục các yêu cầu dư thừa). Tương tự như vậy, các giới hạn của ứng dụng khách là chúng không thể xử lý một cuộc gọi lại hoàn thành, thay vào đó. Cuối cùng, xin lưu ý rằng tôi không quan tâm đến việc tạo tài nguyên "nhà máy" mà một ĐĂNG đến, vì các vòng quay bổ sung có nghĩa là chúng tôi không thực hiện được ràng buộc thời gian thực từng mảnh nhiều hơn mong muốn (hơn nữa, nó phức tạp hơn; ngoài ra, đây là tài nguyên sẽ lợi ích từ bộ nhớ đệm).
Tôi tưởng tượng có một số tranh cãi về việc trả lại mã trạng thái 202 "Được chấp nhận" để phản hồi yêu cầu GET, như tôi chưa từng thấy trong thực tế và cách sử dụng trực quan nhất của nó là để đáp ứng các phương pháp không an toàn, nhưng tôi chưa bao giờ tìm thấy bất cứ điều gì đặc biệt làm nản lòng nó. Hơn nữa, có phải tôi đang không bảo vệ cả sự an toàn và tính hiệu quả?
Vậy, mọi người nghĩ gì về cách tiếp cận này?
CHỈNH SỬA : Tôi nên đề cập rằng điều này dành cho cái gọi là API web doanh nghiệp - không dành cho trình duyệt.
202
. Rằng nó hiếm khi được sử dụng trong thực tế hơn là IMHO vì ít nhà phát triển web quan tâm đến mã trạng thái thích hợp vì họ quen với tương tác giữa trình duyệt / tác nhân người dùng hơn, trong trường hợp a không202
cho họ thấy manh mối nào (đưa cho họ200
và họ rất vui. ..).