type tipos content application javascript html html5 mime-types

tipos - es "<tipo de script=''texto/javascript''>” incorrecto?



mime type pdf (2)

En un momento dado , Brendan Eich hace un comentario imprevisto que implica que los scripts se sirven como

<script type=''text/javascript''></script>

no es correcto porque "text/javascript" no es un tipo MIME válido y dice que "application/javascript" es un tipo MIME válido.

Solo me importa servir HTML5 como el doctype .

  • ¿Dónde se definen los tipos MIME para <script> en la especificación html5 W3C?
  • ¿Cómo es el soporte del navegador para "text/javascript" y "application/javascript" ?
  • ¿Cuál debería ser utilizado? Alternativamente, ¿no deberíamos simplemente configurar el type en absoluto?

Cita literal de brendan: (1:48)

... o tipo de script es igual a application / javascript o application / ecmascript, esos son los tipos MIME oficiales o uno de los inventados de HTML4 como text / javascript ...

Relacionado:

La unión de los recursos relacionados no responde realmente las tres preguntas.


¿Dónde se definen los tipos MIME para <script> en la especificación html5 W3C?

En ninguna parte, tiene una list (que incluye algunas experimentales y en desuso) pero establece que puede usar cualquier tipo de MIME que desee. Los tipos MIME están definidos por IANA y text/javascript está oficialmente marcado como obsoleto a favor de application/javascript

¿Cómo es el soporte del navegador para "texto / javascript" y "aplicación / javascript"?

No es suficiente. Todavía hay muchos navegadores alrededor que no reconocen este último. (Sin embargo, esto es solo un problema con el atributo de tipo, puede configurar el encabezado HTTP Content-Type correctamente sin preocuparse).

¿Cuál debería ser utilizado? Alternativamente, ¿no deberíamos simplemente configurar el tipo en absoluto?

Ya que solo te importa el HTML 5, simplemente omite el atributo de tipo por completo. Es opcional y el idioma predeterminado es JavaScript.


Creo que Brandon está (al menos) parcialmente equivocado. El último borrador del editor de HTML5 (15 de agosto de 2011) dice:

El atributo de tipo proporciona el idioma del script o el formato de los datos. Si el atributo está presente, su valor debe ser un tipo MIME válido. El parámetro charset no debe ser especificado. El valor predeterminado, que se utiliza si el atributo está ausente, es "text / javascript".

Por lo tanto, si no incluye un atributo de type , el valor predeterminado es "text / javascript". Si ese es el valor predeterminado, debe ser un tipo MIME válido.

¿Cuáles son los otros tipos MIME válidos? La especificación no parece dar una lista de ejemplo, pero sí especifica el formato requerido cuando dice:

Una cadena es un tipo MIME válido si coincide con la regla de tipo de medios definida en la sección 3.7 "Tipos de medios" de RFC 2616

Que puedes tener la alegría de leer aquí:

http://www.ietf.org/rfc/rfc2616.txt

Edición: Quentin tiene razón: para HTML5, no es necesario incluir un atributo de type , suponiendo que esté usando Javascript.