En teoría, de acuerdo con RFC 4329, application/javascript
.
La razón por la que se supone que es application
no tiene nada que ver con si el tipo es legible o ejecutable. Se debe a que hay 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 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);
b. los navegadores usan otra información, incluida la codificación de la página y en algunos navegadores, el atributo 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 nunca utiliza proxies de transcodificación de todos modos, pero esa fue la intención.)
Por lo tanto los bytes exacta del archivo deben ser preservadas exactamente, lo que hace que sea un binario tipo application
y técnicamente no es de carácter -basado en text
.
Por la misma razón, application/xml
es oficialmente preferido sobre text/xml
: XML tiene sus propios mecanismos de señalización de chaset en banda. Y todo el mundo ignora application
para XML, también.
text/javascript
y text/xml
puede que no sea la cosa correcta, 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.
posible engaño/explicación: http://stackoverflow.com/questions/876561/when-serving-javascript-files-is-it-better-to-use-the-application-javascript-o – Benn
Véase también http: //stackoverflow.com/questions/2325571/for-http-responses-with-content-types-suggesting-character-data-which-charset-sh – Gumbo
posible duplicado de [¿Qué es el tipo Javascript MIME? ¿Qué pertenece al atributo de tipo de una etiqueta de script?] (http://stackoverflow.com/questions/189850/what-is-the-javascript-mime-type-what-belongs-in-the-type-attribute-of-a-script) – Bergi