为什么百度里面的动图, 都是以.jpg结尾的

今天突然发现为什么百度里面的动图, 都是以.jpg结尾的,动图不应该是以.gif后缀的吗?
但是它的响应头的content-type又是image/gif,难道图片后缀什么的对浏览器来说不影响吗?
保存的时候 有些直接就是保存的.gif,有些默认的保存为.jpg,不过可以自己修改为.gif。请大佬解惑!

阅读 8.7k
3 个回答

文件后缀从来都只是分辨文件类型的辅助手段。

很多类型有特定的二进制文件头,比如 JPEG,这种情况下即便你以 .gif 命名,图片查看器也知道它是个 JPEG

而有的类型没有特定二进制文件头或者说不开放二进制文件头格式为世人所知,那么就只能以其文件名的后缀为准了,这种情况下,你使用非该类型专用文件查看器进行查看,效果都是不保证的。

这些是本地浏览文件的情况,而浏览器识别服务端文件不太一样。

浏览器想知道一个服务端文件的实际类型,主要依靠的是该文件流的 Content-Type 响应头所声明的值,可以通过这个 来了解常见的 MIME 类型。

但是这个响应头只是告诉浏览器我发给你的是个什么类型的文件,至于它到底是不是真的是这个类型,就不一定了。这就回到最开始的,有二进制文件头的以文件头为准;没有的,以文件提供方的声明(Content-Type|MIME、后缀名)为准。

浏览器是根据content-type来决定你内容的类型的,而不是根据后缀

你这样一说 好像是

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏