下载文档之前内核如何识别下载文档的格式?

下载文档之前内核如何识别下载文档的格式?

在 Unix 中,当我们想从互联网上下载任何文档时,它会要求我们将文档另存为并给出文档的格式(例如:.pdf、.mp3...等)。那么,即使我们还没有下载该文件,内核如何知道该文件的格式呢?

答案1

这与内核无关,提供文件的 Web 服务器告诉浏览器它是什么 MIME 类型以及可选地使用什么文件名。

以您自己的头像为例,这些是 Gravatar Web 服务器返回的标头:

$ curl -I https://www.gravatar.com/avatar/da4d09ebbb789ea0442c6cf98cca8649\?s\=32\&d\=identicon\&r\=PG\&f\=1
HTTP/2.0 200
server:nginx
date:Tue, 21 Feb 2017 17:04:38 GMT
content-type:image/png
content-length:914
last-modified:Wed, 11 Jan 1984 08:00:00 GMT
link:<https://www.gravatar.com/avatar/da4d09ebbb789ea0442c6cf98cca8649?s=32&d=identicon&r=PG&f=1>; rel="canonical"
access-control-allow-origin:*
x-nc:HIT lhr 1
accept-ranges:bytes
expires:Tue, 21 Feb 2017 17:09:38 GMT
cache-control:max-age=300
source-age:817

相关行就是content-type:image/png行;这告诉浏览器该文件是 PNG 图像,浏览器使用它来构建适当的文件名(使用 URL 末尾和.png)。可以使用不同的标头条目提供文件名。

在下载文件本身的单个字节之前,此信息可在 HTTP 标头中获取。

相关内容