type tipos protocolo plain content application javascript mime-types

javascript - tipos - mime type pdf



Tipo MIME Javascript (4)

Basado en esta pregunta: el código jQuery no funciona en IE

Entonces text/javascript se usa en documentos HTML para que Internet Explorer pueda entenderlo. Pero me pregunto, ¿cuándo usarías application/javascript , y más importante aún, por qué lo usarías en lugar de text/javascript ?


El problema con el tipo MIME de Javascript es que no ha habido un estándar durante años. Ahora tenemos application / javascript como un tipo MIME oficial.

Pero en realidad, el tipo MIME no importa en absoluto, ya que el navegador puede determinar el tipo en sí. Es por eso que las especificaciones de HTML5 indican que type="text/javascript" ya no es necesario.


En teoría, de acuerdo con RFC 4329 , application/javascript .

La razón por la que se supone que es una application no tiene nada que ver con si el tipo es legible o ejecutable. Se debe a que existen mecanismos de determinación de conjunto de caracteres personalizados establecidos por el idioma / tipo en sí, en lugar de solo el parámetro genérico de charset . Un subtipo de text debe ser capaz de ser transcodificado por un proxy a otro conjunto de caracteres, cambiando el parámetro de conjunto de caracteres. Esto no ocurre con JavaScript porque:

a. el RFC dice que los user-agents deberían estar haciendo un BOM-sniffing en el script para determinar el tipo (aunque no estoy seguro de que algún navegador lo haga);

segundo. los navegadores usan otra información, incluida la codificación de la página y, en algunos navegadores, el atributo del script charset del script charset , para determinar el juego de caracteres. Por lo tanto, cualquier proxy que intente transcodificar el recurso rompería sus usuarios. (Por supuesto, en realidad, nadie usa proxies de transcodificación de todos modos, pero esa era la intención).

Por lo tanto, los bytes exactos del archivo deben conservarse exactamente , lo que lo convierte en un tipo de application binaria y no en text basado en caracteres técnicos.

Por la misma razón, application/xml es oficialmente preferido sobre text/xml : XML tiene sus propios mecanismos de señalización de chaseet en banda. Y todos ignoran la application para XML también.

text/javascript y text/xml pueden no ser lo correcto, pero hay lo que todos usan hoy en día por razones de compatibilidad, y las razones por las que no son lo correcto prácticamente no tienen importancia.


application-javascript es el tipo correcto de usar, pero como no es compatible con IE6-8, vas a estar atascado con text / javascript. Si no le importa la validez (HTML5 excluido), simplemente no especifique un tipo.


application porque .js -Los archivos no son algo que un usuario quiera leer, sino algo que debería ser ejecutado.