将文件上传到服务器时,Web 浏览器是否会在 http header 中发送文件大小?如果是这样,那么,是否可以通过读取文件头而不是等待整个上传过程完成来拒绝文件?
最佳答案
http://www.faqs.org/rfcs/rfc1867.html
HTTP 客户端是 鼓励为整个文件输入提供内容长度,以便 繁忙的服务器可以检测到建议的文件数据是否太大而无法 合理处理
但内容长度不是必需的,因此您不能依赖它。此外,攻击者可以伪造错误的内容长度。
读取文件内容是唯一可靠的方法。话虽如此,如果内容长度存在并且太大,关闭连接将是一个合理的做法。
此外,内容以多部分形式发送,因此大多数现代框架首先对其进行解码。这意味着在框架完成之前您不会获得文件字节流,这可能意味着“直到整个文件被上传”。
关于http - 上传文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280684/