¿Tengo que especificar un tipo MIME si el archivo cargado no tiene extensión? En otras palabras, ¿hay un tipo MIME general predeterminado?
mime
mime-types
default-value
Shimmy Weitzhandler
fuente
fuente
application/octet-stream
archivo es ejecutable. E incluso si un navegador está descargando a sabiendas un archivo ejecutable, no "posiblemente lo ejecute" sin que el usuario lo solicite; simplemente descargar un ejecutable no implica que quiera que se ejecute ahora. Si realmente hay un navegador que puede ejecutarapplication/octet-stream
archivos automáticamente al descargar, díganos cuál y cómo reproducir el comportamiento. Ahora mismo no te creo.Recursos de RFC:
Deberíamos usar RFC-7231 (Semántica y contenido HTTP / 1.1) como referencia en lugar de RFC-2046 (Tipos de medios) porque la pregunta era claramente acerca del Tipo de contenido HTTP.
Además, RFC-2046 no define claramente los tipos desconocidos, pero RFC-7231 sí.
Respuesta corta:
No envíe el tipo MIME para datos desconocidos.
Para ser más claro: no utilice el encabezado Content-Type en absoluto.
Referencias
Esa sección le dice claramente que lo deje de lado si no lo sabe con certeza. También dice que el receptor podría asumir que ese tipo es application / octet-stream, pero la cosa es que también podría ser otra cosa.
¿Qué es diferente entonces?
Y, como ya se dijo anteriormente:
Conclusión:
Si lo define como "aplicación / octeto-flujo", entonces está diciendo que sabe que es "aplicación / octeto-flujo".
Si no lo define, entonces está diciendo que no sabe qué es y deja la decisión al receptor y el receptor podría verificar si camina como un pato y ...
fuente
Prefiero
application/unknown
, pero el resultado será seguramente el mismo queapplication/octet-stream
fuente
application/octet-stream
oapplication/unknown
? Hay una razón por la que inventaronimage/png
.