En tecnología de la información y las comunicaciones , un tipo de medio , [ 1 ] [ 2 ] tipo de contenido [ 2 ] [ 3 ] o tipo MIME [ 1 ] [ 4 ] [ 5 ] es un identificador de dos partes para formatos de archivo y formatos de contenido . Su propósito es comparable al de las extensiones de nombre de archivo y los identificadores de tipo uniforme , ya que identifican el formato de datos previsto. Se utilizan principalmente en tecnologías que sustentan Internet y también en sistemas de escritorio Linux .
La Autoridad de Números Asignados de Internet (IANA) es la autoridad oficial para la estandarización y publicación de estas clasificaciones. Los tipos de medios se definieron originalmente en la Solicitud de Comentarios RFC 2045 (MIME) Parte Uno: Formato de Cuerpos de Mensajes de Internet (noviembre de 1996) en noviembre de 1996 como parte de la especificación MIME (Extensiones de Correo de Internet Multiusos) , para denotar el tipo de contenido y archivos adjuntos de los mensajes de correo electrónico ; [ 6 ] de ahí el nombre original, tipo MIME . Los tipos de medios también son utilizados por otros protocolos de Internet como HTTP , [ 7 ] formatos de archivos de documentos como HTML , [ 8 ] y las especificaciones XDG implementadas por entornos de escritorio Linux , [ 5 ] para propósitos similares.
Terminología
Los distintos estándares de internet o los organismos de normalización web difieren en el término preferido para este tipo de identificador.
La IANA y la IETF utilizan el término "tipo de medio" y consideran obsoleto el término "tipo MIME" [ 1 ] , ya que los tipos de medio se utilizan en contextos ajenos al correo electrónico, como HTTP. Por el contrario, el WHATWG sigue utilizando el término "tipo MIME" y desaconseja el uso del término "tipo de medio" por considerarlo ambiguo, puesto que se utiliza con un significado diferente en relación con la función CSS [ 4 ] .@media
El encabezado de respuesta HTTP para proporcionar el tipo de medio es Content-Type. [ 2 ] El W3C ha utilizado ContentTypecomo nombre de tipo de datos XML para un tipo de medio. [ 3 ] Las especificaciones XDG implementadas por los entornos de escritorio Linux continúan utilizando el término "tipo MIME". [ 5 ]
Estructura
Un tipo de medio consta de un tipo y un subtipo , que a su vez se estructura en un árbol . Opcionalmente, un tipo de medio puede definir un sufijo y parámetros :
tipo-mime = tipo "/" [ árbol "." ] subtipo [ "+" sufijo ] * [ ";" parámetro ];
Como ejemplo, un archivo HTML podría designarse como text/html; charset=UTF-8. En este ejemplo, textes el tipo, htmles el subtipo y charset=UTF-8es un parámetro opcional que indica la codificación de caracteres .
Los tipos, subtipos y nombres de parámetros no distinguen entre mayúsculas y minúsculas. Los valores de los parámetros suelen distinguir entre mayúsculas y minúsculas, pero pueden interpretarse sin tener en cuenta las mayúsculas y minúsculas según el uso previsto. [ 6 ]
Tipos
La parte "tipo" define el uso amplio del tipo de medio. A partir de noviembre de 1996, los tipos registrados eran application, audio, image, message, multipart, texty video. [ 6 ] Para julio de 2024, los tipos registrados incluían los anteriores, más font, example, model, y haptics. [ 1 ]
Un tipo de nivel superior no oficial de uso común es chemical, utilizado para formatos de archivos químicos . [ 9 ] [ 10 ] [ 11 ] En el contexto de entornos de escritorio Linux , se utilizan los tipos de nivel superior no oficiales inode( inodos distintos de archivos normales, como directorios del sistema de archivos , archivos de dispositivos o enlaces simbólicos ), [ 12 ]x-content ( medios extraíbles , como x-content/image-dcfpara cámaras digitales DCF ), [ 13 ]package ( paquetes del gestor de paquetes ) [ 14 ] y x-office(categorías genéricas de documentos de software de productividad de oficina ) [ 14 ] [ 15 ] .
Subtipos
Un subtipo generalmente consta de un formato de medio, pero también puede o debe contener otro contenido, como un prefijo de árbol, productor, producto o sufijo, según las diferentes reglas en los árboles de registro.
Todos los tipos de soportes deben registrarse utilizando los procedimientos de registro de IANA. Para mayor eficiencia y flexibilidad en el proceso de registro de tipos de soportes, se pueden registrar diferentes estructuras de subtipos en árboles de registro que se distinguen mediante el uso de prefijos. Actualmente, se crean los siguientes árboles: estándar (sin prefijo), proveedor ( vnd.con prefijo), personal o vanidad ( prs.con prefijo), no registrado ( con prefijo). Estos árboles de registro se definieron por primera vez en noviembre de 1996 (RFC 2048 obsoleto, actualmente RFC 6838). La IETFx. Standards Action puede crear nuevos árboles de registro para el registro externo y la gestión por parte de organizaciones permanentes reconocidas (por ejemplo, sociedades científicas).
Árbol de estándares
El árbol de estándares no utiliza ningún prefijo de árbol. Ejemplos: text/javascript, image/png. [ 16 ]
Los registros en el árbol de estándares deben estar asociados con especificaciones IETF aprobadas directamente por el IESG, o bien estar registrados por una organización relacionada con los estándares reconocida por IANA.
Árbol de vendedores
El árbol de proveedores incluye tipos de medios asociados con productos disponibles públicamente. Utiliza el vnd.prefijo de árbol. Ejemplos: application/vnd.ms-excel, application/vnd.oasis.opendocument.text.
En este contexto, los términos «proveedor» y «productor» se consideran equivalentes. Tanto los consorcios industriales como las entidades sin ánimo de lucro pueden registrar tipos de medios en el árbol de proveedores. Cualquier persona que necesite intercambiar archivos asociados a un producto o conjunto de productos de software puede crear un registro en dicho árbol. Sin embargo, el registro pertenece al proveedor u organización que produce el software que utiliza el tipo registrado, y dicho proveedor u organización puede, en cualquier momento, reclamar la propiedad de un registro realizado por un tercero.
Árbol personal o de vanidad
El árbol personal o de vanidad incluye tipos de medios asociados con productos no disponibles públicamente o tipos de medios experimentales. Utiliza el prs.prefijo de árbol. Ejemplos: audio/prs.sid, image/prs.btif.
Árbol no registrado
El árbol no registrado incluye tipos de medios destinados exclusivamente al uso en entornos privados y solo con el consentimiento expreso de las partes que los intercambian. Utiliza el x.prefijo de árbol. Ejemplos: application/x.foo, video/x.bar. Los tipos de medios en este árbol no se pueden registrar.
Este tipo se definió originalmente en el RFC 1590 (publicado en septiembre de 1993) utilizando el prefijo x-o X-. El RFC 2048 (publicado en noviembre de 1996) introdujo el x.prefijo, pero desaconsejó el uso del árbol no registrado, ya que ahora están disponibles nuevos árboles personales y de proveedores con requisitos de registro menos estrictos. El RFC 6838 actual (publicado en enero de 2013) mantiene la misma recomendación, pero los subtipos con el prefijo x-o X-ya no se consideran miembros de este árbol.
Los tipos de medios que se han implementado ampliamente (con un subtipo prefijado con x-o X-) sin estar registrados, deberían, de ser posible, volver a registrarse con un subtipo prefijado adecuado. Si esto no es posible, el tipo de medio puede, tras la aprobación tanto del revisor de tipos de medios como del IESG, registrarse en el árbol de estándares con su subtipo sin prefijo. application/x-www-form-urlencodedes un ejemplo de un tipo implementado ampliamente que terminó registrado con el x-prefijo. [ 17 ]
Sufijo
El sufijo es una extensión de la definición del tipo de medio para especificar adicionalmente la estructura subyacente de dicho tipo, lo que permite un procesamiento genérico basado en esa estructura e independiente de la semántica particular del tipo exacto. Los tipos de medio que utilizan una sintaxis estructurada con nombre deben usar el sufijo IANA apropiado registrado "+"suffixpara esa sintaxis estructurada al registrarse. No se deben usar sufijos no registrados (desde enero de 2013). Los procedimientos de registro de sufijos de sintaxis estructurada se definen en RFC 6838. [ 16 ]
El sufijo +xml se definió en enero de 2001 ( RFC 3023 [ 18 ] ) y se incluyó formalmente en el contenido inicial del Registro de sufijos de sintaxis estructurada junto con +json, +ber, +der, +fastinfoset, +wbxml, y +zipen enero de 2013 ( RFC 6839 ). Las adiciones posteriores incluyen +gzip, +cbor, +json-seq, y +cbor-seq. [ 19 ]
Ejemplos comunes
Del registro de IANA: [ 1 ]
application/jsonapplication/ld+json( JSON-LD )application/msword(.doc)application/pdfapplication/sqlapplication/vnd.api+jsonapplication/vnd.microsoft.portable-executable(.efi, .exe, .dll)application/vnd.ms-excel(.xls)application/vnd.ms-powerpoint(.ppt)application/vnd.oasis.opendocument.text(.odt)application/vnd.openxmlformats-officedocument.presentationml.presentation(.pptx)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet(.xlsx)application/vnd.openxmlformats-officedocument.wordprocessingml.document(.docx)application/x-www-form-urlencodedapplication/xmlapplication/zipapplication/zstd(.zst)audio/mpegaudio/oggimage/avifimage/jpeg(.jpg, .jpeg, .jfif, .pjpeg, .pjp) [ 20 ]image/pngimage/svg+xml(.svg)image/tiff(.tif)model/obj(.obj)multipart/form-datatext/plaintext/csstext/csvtext/htmltext/javascript(.js)text/xml
Mailcap
Mailcap (derivado de la frase "capacidad de correo") es un tipo de archivo meta que se utiliza para configurar cómo las aplicaciones compatibles con MIME, como los clientes de correo y los navegadores web, procesan archivos de diferentes tipos MIME. El formato Mailcap está definido en la RFC 1524, "Un mecanismo de configuración del agente de usuario para la información del formato de correo multimedia", pero no está definido como un estándar de Internet . Es compatible con la mayoría de los sistemas Unix .
Las líneas pueden ser comentarios que comiencen con el carácter #, o un tipo MIME seguido de cómo manejar ese tipo MIME.
tipos mime
Un archivo asociado es el archivo mime.types , que asocia las extensiones de archivo con un tipo MIME . Si el tipo MIME está configurado correctamente, esto no es necesario, pero los tipos MIME pueden estar configurados incorrectamente o ser genéricos application/octet-stream, y mime.types permite recurrir a la extensión en estos casos. Del mismo modo, dado que muchos sistemas de archivos no almacenan información sobre el tipo MIME, sino que se basan en la extensión del archivo, los servidores web suelen utilizar el archivo mime.types para determinar el tipo MIME.
Al visualizar un archivo, estos dos elementos trabajan juntos de la siguiente manera: mime.typesasocia una extensión con un tipo MIME, mientras que mailcapasocia un tipo MIME con un programa.
En los sistemas tipo UNIX, el archivo mime.types suele estar ubicado en y/o y su formato consiste simplemente en que cada línea es una lista de tipos MIME separados por espacios, seguida de cero o más extensiones. Por ejemplo, el tipo HTML se puede asociar con las extensiones y mediante la siguiente línea:/etc/mime.types$HOME/.mime.types.htm.html
texto/html htm html
Utilizar en el navegador web Netscape.
El archivo mime.types se remonta a Netscape , donde utilizaba un formato diferente; [ 21 ] utilizaba pares clave-valor y una lista de extensiones separadas por comas, junto con un encabezado estándar que consistía en un comentario específico que identificaba el archivo como un archivo mime.types, como sigue:
#--Información MIME de Netscape Communications Corporation # No elimine la línea anterior. Se utiliza para identificar el tipo de archivo. tipo=texto/html extensiones=htm,html
Véase también
Referencias
- 1 2 3 4 5 "Tipos de medios" . IANA . IANA . 4 de junio de 2018. Recuperado el 5 de junio de 2018.
[RFC2046] especifica que los tipos de medios (anteriormente conocidos como tipos MIME) y los subtipos de medios serán asignados y listados por la IANA.
- 1 2 3 Fielding, R.; Nottingham, M.; Reschke, J. (2022). " Media Type" . HTTP Semantics . IETF . sec. 8.3.1. doi : 10.17487/rfc9110 . ISSN 2070-1721 . STD 97. RFC 9110.
HTTP utiliza tipos de medios [RFC2046] en los campos de encabezado Content-Type (Sección 8.3) y Accept (Sección 12.5.1) para proporcionar una tipificación de datos y una negociación de tipos abiertas y extensibles.
- 1 2 "4.3. Tipos de atributos" . Modularización XHTML 1.1 - Segunda edición . W3C . 29/07/2010.
ContentType: Un tipo de medio, según [RFC2045].
- 1 2 Hemsley, Gordon P. "4.1. Representación del tipo MIME" . Estándar de detección de MIME . WHATWG .
Se recomienda que los estándares utilicen de forma consistente el término tipo MIME para evitar confusiones con el uso de
tipo de medio
como se describe en
Consultas de medios
.
- 1 2 3 "shared-mime-info-spec" . freedesktop.org . 2023-09-03.
- 1 2 3 Freed, N.; Borenstein, N. (noviembre de 1996). "Extensiones de correo de Internet multipropósito (MIME) Parte uno: formato de los cuerpos de los mensajes de Internet" . Grupo de trabajo de ingeniería de Internet . Recuperado el 15 de julio de 2015 .
- ↑ Nielsen, Henrik; Fielding, Roy T.; Berners-Lee, Tim (mayo de 1996). "Protocolo de transferencia de hipertexto -- HTTP/1.0" . Recuperado el 2 de febrero de 2017 .
- ↑ "Especificación HTML 4.01" . 24 de diciembre de 1999. Consultado el 2 de febrero de 2017 .
- ↑ Daniel Leidert, Egon Willighagen (2007). "El proyecto de datos de mimeísmo químico" . Archivado del original el 8 de octubre de 2016. Consultado el 28 de abril de 2016 .
- ↑ "Página principal de Chemical MIME" . 22 de diciembre de 1998. Consultado el 11 de mayo de 2019 .
- ↑ S. Rzepa, Henry; Murray-Rust, Peter; J. Whitaker, Benjamin (14 de agosto de 1998). "La aplicación de los estándares de Internet Chemical Multipurpose Internet Mail Extensions (Chemical MIME) al correo electrónico y al intercambio de información en la World Wide Web". Journal of Chemical Information and Modeling . 38 (6). American Chemical Society: 976– 982. doi : 10.1021/ci9803233 .
- ↑ "2.13. Archivos no regulares" . Especificación de información MIME compartida . freedesktop.org .
- ↑ "2.14 Tipos de contenido para volúmenes" . Especificación de información MIME compartida . freedesktop.org .
- 1 2 "Tabla 10: Iconos de tipo MIME estándar" . Especificación de nombres de iconos . freedesktop.org .
- ↑ "Gestión de tipos MIME" . Manual de administración de Nextcloud . Consultado el 5 de agosto de 2025 .
- 1 2 Freed, N. (enero de 2013). "Especificaciones de tipo de medio y procedimientos de registro" . Páginas de solicitud de comentarios (RFC) de la IETF - Prueba . RFC6838. Grupo de trabajo de ingeniería de Internet (IETF). ISSN 2070-1721 . Recuperado el 15 de julio de 2015 .
- ↑ "application/x-www-form-urlencoded (registrado el 14-05-2014, actualizado el 14-05-2014, actualizado el 14-07-2020)" .
- ↑ Kohn, Dan (enero de 2001). "Tipos de medios XML" . tools.ietf.org . Consultado el 5 de marzo de 2021 .
- ↑ "Registro de sufijos de sintaxis estructurada" (XML) . IANA. 2012-07-20 . Consultado el 2019-11-08 .
- ↑ "Tipos MIME (tipos de medios IANA) - HTTP | MDN" . 18 de diciembre de 2023.
- ↑ WEBMASTERS: tipos mime Enlace obsoleto archivado el 7 de diciembre de 2000 en archive.today , John McAnally, jueves 22 de enero de 1998 15:29:29 -0600 (CST)
Enlaces externos
- "BCP 13: Tipos de medios" . BCP . IETF Datatracker .
- Lista de tipos de medios oficiales de IANA
- La biblioteca estándar de Python | mimetypes — Asigna nombres de archivo a tipos MIME
- Tipos MIME comunes de Mozilla MDN
- Arquitectura de Internet
- formatos de archivos informáticos
- Metadatos
- MÍMICA
- Linux
- Presentaciones de 1996