我正在编写小型http服务器并尝试了解超时问题。
RFC7230没有回答强制服务器发送超时(408 请求超时(的条件是什么。当客户端发送请求太长时是否应该发送?或者,如果在一段时间内没有在打开的连接中发送任何内容?逻辑应该是什么?是否有任何标准或行为模型?
整个过程将是
服务器等待请求 -> 读取请求标头 -> 读取请求正文 -> 准备响应标头 -> 准备响应正文
因此,如果请求需要很长时间 Ex: 30 秒,则服务器将返回代码为 408 请求超时的响应标头
下一种情况是,当服务器可以读取整个请求标头和正文并尝试处理该请求但无法在一定时间内完成时,它将返回 504 网关超时或 503 服务不可用。
这将取决于每种情况。但规则始终是使用 4xx 表示请求错误,使用 5xx 表示服务器错误
下面列出了http代码的简短解释:HTTP响应状态代码