mime - como - convertir todo tipo de archivo en pdf
Tipo de archivo desconocido MIME? (3)
¿Debo especificar un tipo MIME si el archivo cargado no tiene extensión? En otras palabras, ¿hay un tipo MIME general predeterminado?
Recursos de RFC:
Deberíamos usar RFC-7231 (HTTP / 1.1 Semántica y contenido) como referencia en lugar de RFC-2046 (Tipos de medios) porque la pregunta era claramente sobre el tipo de contenido HTTP.
Además, RFC-2046 no define claramente los tipos desconocidos, pero RFC-7231 sí lo hace.
Respuesta corta:
No envíe tipo MIME para datos desconocidos.
Para ser más claro: no use el encabezado Content-Type en absoluto.
Referencias
RFC-7231
Protocolo de transferencia de hipertexto (HTTP / 1.1): semántica y contenido
3.1.1.5. Tipo de contenidoUn emisor que genera un mensaje que contiene un cuerpo de carga DEBERÍA
generar un campo de encabezado de tipo de contenido en ese mensaje a menos que
tipo de medio previsto de la representación adjunta es desconocido para el
remitente.
Esa sección claramente te dice que lo dejes si no lo sabes 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?
RFC-2046
4.5.1. Subtipo de Octet-StreamLa acción recomendada para una implementación que recibe un
La entidad "application / octet-stream" es simplemente ofrecer poner los datos
en un archivo, con cualquier Content-Transfer-Encoding undone, o quizás para
Úselo como entrada para un proceso especificado por el usuario.
Y, como ya se dijo anteriormente:
RFC-7231
3.1.1.5. Tipo de contenidoSi un campo de encabezado Content-Type no está presente, el destinatario PUEDE asumir un tipo de medio de "application / octet-stream"
([RFC2046], sección 4.5.1) o examine los datos para determinar su tipo.
Conclusión:
Si lo defines como "application / octet-stream", entonces estás diciendo que sabes que es "application / octet-stream".
Si no lo defines, entonces dices que no sabes de qué se trata y dejas la decisión al receptor y al receptor para comprobar si camina como pato y ...
Prefiero la application/unknown
, pero el resultado seguramente será el mismo que el de la application/octet-stream
Puede usar application/octet-stream
para tipos desconocidos.
RFC 2046 estados en la sección 4.5.1:
El subtipo "octet-stream" se usa para indicar que un cuerpo contiene datos binarios arbitrarios.