如果我们可以通过扩展名识别文件类型,为什么还需要 MIME 类型?

Rex*_*exE 5 iis mime

如果人们的计算机可以根据文件的扩展名(.pdf、.mp3、.docx、.dotx 等)决定如何处理文件,为什么 Web 服务器和电子邮件应用程序还需要指定 MIME 类型?

如果您想以不同于默认的方式传送文件(例如将 .py 或 .html 文件显示为纯文本),或者如果文件扩展名未在客户端计算机上注册,我认为这很有用,但在大多数情况下在某些情况下,如果我正在创建一种新的文件格式(例如 .foobaz)并希望人们能够在网络上和通过电子邮件共享这些文件,依靠客户端识别文件扩展名是否就足够了?

Bil*_*hor 5

Mime 类型明确指定了文件的预期用途。文件扩展名仅暗示内容。两者都可能是错误的。DOC 已被许多具有各种内部文件格式的文本编辑器使用。

伪造扩展名被广泛用于误导人们作为文件类型。这可用于各种恶意软件。它还可能导致安全错误。如果 myfile.txt 作为文本文件进行安全性验证,然后通过内容检查作为可执行文件运行,则您最终可能会得到受感染的计算机。

Unix 使用可执行位来指示哪个文件可以运行。脚本可以以 bang 路径开头,指示哪个解释器应该执行它们。file 命令可用于相当可靠地确定带或不带扩展名的文件类型。

使用扩展名来识别使用哪个文件可能会导致歧义。如果我有 myfile.exe、myfile.com、myfile.bat 和 myfile.cmd,如果我运行命令 myfile,它们就会运行。