我想要以下内容:
- 通过 HTTP 将一个(可能很大的)文件流式传输到客户端,并且在文件已经完全流式传输到客户端之后(可能)向客户端发出错误信号(例如 404 未找到或 500 内部服务器错误)。
在 HTTP 1.x 中这似乎是不可能的:错误在标头中发出信号,这些标头在正文之前流式传输。
也许,在 HTTP/2 中是可能的?如何?
我可以只是中断 HTTP TCP 连接,但在这种情况下,客户端可能会认为错误不是 404 或 500(在我的情况下,这意味着需要由客户端清除的错误文件内容)而是部分下载的文件和下次可能会尝试使用Range:
将更多数据附加到(不正确的)下载数据中。
我知道这可以通过创建我自己的文件格式来完成,但我想按原样将文件传递给客户端并使用标准HTTP 错误。