Hãy xem xét một yêu cầu HTTP lớn:Có thể chấp nhận máy chủ gửi phản hồi HTTP trước khi nhận được toàn bộ yêu cầu không?
POST /upload HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 1048576
...
Các khách hàng bây giờ bắt đầu tải lên một megabyte dữ liệu, có thể mất một thời gian. Tuy nhiên, máy chủ xác định rằng ủy quyền HTTP là cần thiết, vì vậy nó quyết định nó sẽ phản hồi với HTTP 401 Unauthorized
.
PHẢI đợi máy chủ cho đến khi nó nhận được toàn bộ yêu cầu (IE, tiêu đề + CRLF CRLF + Content-Length
bytes) trước khi nó có thể phản hồi?
Trong điều kiện thực tế, hành vi đó có vi phạm bất kỳ trình duyệt nào không? Tuy nhiên, các trình duyệt có tiếp tục tải lên tệp hay không hoặc chúng sẽ ngừng truyền nếu chúng nhận được phản hồi 'sớm'?
Quan trọng hơn, trong trường hợp này, họ có thể xác thực thành công và bắt đầu lại tải lên (có bằng chứng xác thực) hay không đáng tin cậy để cắt tải lên như thế này?
Bạn đã tìm ra câu trả lời chưa? –
@DonghwanKim: Có, máy chủ HTTP hợp lệ để gửi phản hồi trước khi nhận được toàn bộ yêu cầu. Thật không may, [không có trình duyệt nào sẽ nhìn thấy phản hồi sớm và ngừng gửi yêu cầu] (http://stackoverflow.com/a/18370751/201952), chính nó có thể vi phạm RFC 2616 § 8.2.2. – josh3736
Cảm ơn, rất tốt khi biết –