gpt4 book ai didi

go - 下载前验证请求

转载 作者:IT王子 更新时间:2023-10-29 02:24:19 25 4
gpt4 key购买 nike

我正在尝试创建一个将发送和接收大文件的网络服务,作为远程​​备份存储解决方案的一部分。

当网络服务器收到请求时,它需要在存​​储数据之前进行身份验证。

目前我正在考虑在 header 中发送身份验证方法,在正文中发送实际内容。相当标准。

但是我想知道,由于正文的大小,如果无法验证请求,是否可以验证 header ,并可能在完全接收正文之前响应请求/断开连接?

我还没有开始实现,但我倾向于使用 Golang 实现。前面会有一个nginx服务器,以防万一。

编辑:

也许我在原来的问题中还不够清楚,但主要重点应该是:是否有可能在接收到整个有效负载之前确定请求是否经过身份验证,如果不是这种情况,则可能会断开连接/响应?

比如.. 是否可以将请求解释为一个流,您可以只对第一部分进行操作,即使其余的有效负载尚未到达。

抱歉造成混淆。

最佳答案

如果您将文件作为请求的主体发布,您可以使用身份验证 header 进行验证,而无需等待文件完全上传。

然后您可以使用 io.Copy 将请求正文复制到文件。

_, err := io.Copy(someFile, req.Body)

不要使用“multipart/form-data”,否则 http pkg 会妨碍您。将文件作为正文发布将使您能够以流的形式访问请求正文的内容,而 io.Copy 将以合理的方式管理文件的副本。

关于go - 下载前验证请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25617831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com