我正在编写小型http服务器,并尝试了解超时问题。
RFC7230未回答以下问题,哪些条件导致服务器发送超时(408请求超时)。客户端发送请求时间过长是否应该发送?还是一段时间内没有任何内容在打开的连接中发送?逻辑应该是什么?有任何标准或行为模型吗?
答案 0 :(得分:1)
整个过程将会
服务器等待请求->读取请求标头->读取请求正文->准备响应标头->准备响应正文
因此,如果请求花费很长的时间(例如30秒),则服务器将返回带有代码408请求超时的响应标头
下一种情况是,服务器可以读取整个请求标头和主体并尝试处理该请求,但无法在一定时间内完成,则它将返回504网关超时或503服务不可用。
这取决于每种情况。但是规则始终是4xx用于请求错误,5xx用于服务器错误
此处列出了有关HTTP代码的简短说明:HTTP response status codes