HTTP服务器可以在消费请求时产生响应吗?

时间:2017-01-28 07:55:38

标签: http specifications rfc

考虑一个http服务器,它将请求的主体反映到响应中。在伪代码中:

recv_req_headers()
send_resp_headers()
while have_req_body_data:
    chunk = recv_req_body_chunk()
    send_resp_body_chunk(chunk)

同样,考虑一个在阅读响应之前发送整个请求的http客户端:

send_req_headers()
send_req_body()
recv_resp_headers()
recv_resp_body()

现在,当这两个尝试通信时,它们会死锁,因为一旦发送缓冲区已满,服务器将停止使用该请求。此时,双方都被阻止,试图将数据发送到另一方。

哪一方违反了HTTP规范?我已阅读RFC 7230RFC 7231但未能找到相关指南。有similar questions,但没有令人满意的答案。

0 个答案:

没有答案