
Si las computadoras de las personas pueden decidir qué hacer con los archivos según sus extensiones (.pdf, .mp3, .docx, .dotx, etc.), ¿por qué los servidores web y las aplicaciones de correo electrónico también necesitan especificar un tipo MIME?
Puedo ver que esto es útil si desea entregar un archivo de una manera diferente a la predeterminada (por ejemplo, mostrar un archivo .py o .html como texto sin formato) o si la extensión del archivo no está registrada en la computadora cliente, pero en la mayoría En muchos casos, si estoy creando un nuevo formato de archivo (por ejemplo, .foobaz) y quiero permitir que las personas compartan estos archivos en la web y por correo electrónico, ¿no debería ser suficiente confiar en que el cliente reconozca la extensión del archivo?
Respuesta1
El tipo Mime especifica claramente el uso previsto del archivo. Las extensiones de archivos sólo dan pistas sobre el contenido. Ambos pueden estar equivocados. DOC ha sido utilizado por varios editores de texto con una variedad de formatos de archivos internos.
Las extensiones falsas se utilizan ampliamente para engañar a las personas sobre el tipo de archivo. Esto se puede utilizar para malware de varios tipos. También puede provocar errores de seguridad. Si myfile.txt se valida por seguridad como un archivo de texto y luego, mediante inspección de contenido, se ejecuta como un ejecutable, puede terminar con una máquina infectada.
Unix utiliza un bit ejecutable para indicar qué archivo se puede ejecutar. Los scripts pueden comenzar con una ruta de acceso que indica qué intérprete debe ejecutarlos. El comando de archivo se puede utilizar para determinar de manera bastante confiable el tipo de archivo con o sin extensión.
El uso de extensiones para identificar qué archivo se utiliza puede generar ambigüedad. Si tengo myfile.exe, myfile.com, myfile.bat y myfile.cmd, que se ejecuta si ejecuto el comando myfile.
Respuesta2
Lo estás viendo al revés.
Un archivo necesita un tipo MIME para que el cliente sepa cómo manejarlo.
Su pregunta también debería ser al revés:
¿Por qué necesitamos extensiones de archivo si podemos identificar los tipos de archivos por el tipo mime?
A lo que la respuesta probablemente sea hacer que sea más fácil para los humanos identificar de qué tipo es un archivo mirando el nombre. Puede haber otras razones en Windows.
Respuesta3
Eso solo sucede en el mundo de Windows, en el mundo de Unix los archivos no tienen que tener extensión, se identifican por tipo mime.
Respuesta4
Como las aplicaciones pequeñas y personalizadas (diseñadas a medida) tienden a ser bastante liberales con respecto a sus extensiones de archivo. Esto puede dar lugar a extensiones de archivo que se utilizan para representar varios tipos de archivos.
Como no hay garantía de que una extensión de archivo corresponda con un tipo determinado de archivo, es posible que el receptor no pueda identificar el tipo de archivo y no pueda obtener el programa correcto para abrirlo.
Además de los tipos MIME, también existen otros sistemas para identificar archivos, por ejemplo, Magic Numbers. Lo que significa que no se necesitan extensiones de archivo. Los usuarios que luego no pueden abrir los archivos también pueden cambiar el nombre de las extensiones de archivo, lo que significa que es probable que se comuniquen con el soporte.