我有一个带有文件的 CDN,我想创建一个小工具,根据预定义的文件列表检查文件是否存在。
我尝试使用 WebRequest,但似乎下载文件。我只想获取内容长度而不下载它。(类似于 curl -I )
谢谢
您也许可以发出 HEAD 请求以获取该信息。
来自w3.org的引述:
HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。此方法可用于获取有关请求所隐含的实体的元信息,而无需传输实体主体本身。这种方法通常用于测试超文本链接的有效性、可访问性和最近的修改。
对 HEAD 请求的响应可能是可缓存的,因为响应中包含的信息可能用于从该资源更新先前缓存的实体。如果新字段值表明缓存的实体与当前实体不同(如 Content-Length、Content-MD5、ETag 或 Last-Modified 的变化所表明的那样),则缓存必须将缓存条目视为陈旧的。
根据我在其他地方读到的内容,内容长度应该出现在 HEAD 响应中。但“应该”并不一定意味着它总是如此(参见:Content-Length header with HEAD requests?)