我有一个网络应用程序,用户可以发布网址以下载他的文件。我正在使用libcurl,我正在检查响应Content-Length以强制执行文件大小限制。我担心一些带走的服务器会继续上传,最终会占用所有可用空间并阻塞我的服务器。如果libcurl的大小大于Content-Length,那么它会中止下载文件吗?
答案 0 :(得分:2)
是的(主要是)。由于Content-Length字段(使用时)是如何使用HTTP来表示此特定响应的正文大小。 HTTP客户端无法读取任何内容,因为连接将保持打开状态并重新用于下一个请求。
这是基本的HTTP 1.1功能,您可以在RFC7230中找到详细信息,如果您想阅读curl代码,请查看用于Content-Length头匹配和解析的lib / http.c源代码。然后进一步说明如何在lib / transfer.c等中使用'maxdownload'字段。