|
|
1
11
如果你是服务器,你可以找到任何你能找到的关于其他文件的信息(假设图像流来自一个文件)。
做一个头部请求。虽然有些服务器的行为不正确,但对HEAD的正确响应与GET的响应基本相同,只是没有发送实体。 例如,要获取此页面上使用的sprite PNG,浏览器会执行get to http://sstatic.net/stackoverflow/img/sprites.png 结果是:
差不多 但没有实体 编辑: 值得一提的是,有时对于分块的内容,你别无选择,只能下载整个内容,因为服务器在开始发送时不会说(甚至可能不知道)大小。不幸的是,这也可能用于特别大的流。令人高兴的是,这不太可能用于图像。 |
|
|
2
2
如果您需要/想要严格地通过HTTP来实现这一点,那么应该尝试捕获请求附带的Content-Length头。但它可能并不总是存在,因此您必须对此进行试验,并确保web服务器准确地说明文件长度。例如,如果它是来自脚本的图像,那么Content-Length头可能会丢失(在这种情况下,为某人感到羞耻)。 如果缺少内容长度,那么我很确定,如果不下载文件,就无法通过HTTP确定文件的大小。内容长度的标题正是用于这类事情。 |
|
|
3
1
|