¿Cuál es la diferencia entre estos encabezados?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
¿Cuál es mejor y por qué?
Por favor, no digas que son idénticos: si fueran idénticos, no habría habido tres. Sé que ambos funcionan, pero me gustaría saber la diferencia.
javascript
http-headers
content-type
Obmerk Kronen
fuente
fuente

scripteltypeatributo de una etiqueta cuandonosniffse especifica la directiva. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…Respuestas:
text/javascriptes obsoleto yapplication/x-javascriptfue experimental (de ahí elx-prefijo) durante un período de transición hasta que seapplication/javascriptpudo estandarizar.Debe utilizar
application/javascript. Esto está documentado en el RFC .En lo que respecta a los navegadores, no hay diferencia (al menos en los encabezados HTTP). Esto fue solo un cambio para que los grupos de tipos
text/*yapplication/*MIME tuvieran un significado coherente siempre que fuera posible. (Lostext/*tipos MIME están destinados a contenido legible por humanos, JavaScript no está diseñado para transmitir directamente el significado a los humanos).Tenga
application/javascripten cuenta que el uso en eltypeatributo de un elemento de secuencia de comandos hará que la secuencia de comandos se ignore (ya que se encuentra en un idioma desconocido) en algunos navegadores más antiguos. Continúe usándolotext/javascriptallí u omita el atributo por completo (lo cual está permitido en HTML 5).Esto no es un problema en los encabezados HTTP ya que los navegadores de manera universal (hasta donde yo sé) ignoran por completo el tipo de contenido HTTP de los scripts o son lo suficientemente modernos como para reconocerlos
application/javascript.fuente
typeatributo en un<script>elemento. No puede omitir elContent-Typeencabezado HTTP ... nunca (si no lo especifica en PHP, PHP tendrá el valor predeterminadotext/htmlincorrecto).text/javascriptestá obsoleto yapplication/x-javascriptera experimental). Peor aún, dejó el comienzo de la respuesta incoherente, con un bloque que decía quetext/javascriptsimplemente colgaba irrelevantemente en la parte superior de la respuesta sin ninguna razón obvia.@echo offfor /r . %%X in (*.js) do (svn propset svn:mime-type text/javascript "%%X")que cuando se ejecute, cambiará el tipo mime de todos los archivos JS en su repositorio a texto / javascript. Luego debe enviar los archivos JS a SVN con el nuevo tipo mime.los tipos mime que comienzan con
x-no están estandarizados. En el caso de JavaScript, está un poco desactualizado. Adicional el segundo fragmento de códigorequiere
short_open_tagsestar habilitado. Deberías evitarlo.Sin embargo, el tipo mime completamente correcto para javascript es
http://www.iana.org/assignments/media-types/application/index.html
fuente
De acuerdo con RFC 4329, el tipo MIME correcto para JavaScript debe ser
application/javascript. Sin embargo, las versiones anteriores de IE se ahogan en esto ya que esperantext/javascript.fuente
typedice el atributo HTML (y en los borradores HTML 5 ese atributo puede omitirse para JavaScript).Use type = "application / javascript"
En el caso de HTML5, el atributo type es obsoleto, puede eliminarlo. Nota: que por defecto es "text / javascript" de acuerdo con w3.org, por lo que sugeriría agregar "application / javascript" en lugar de eliminarlo.
Use "application / javascript", porque "text / javascript" está obsoleto :
x-javascript es experimental, no lo use.
fuente