Qual é a diferença entre esses cabeçalhos?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
Qual é o melhor e por quê?
Por favor, não diga que eles são idênticos - se eles fossem idênticos, não haveria três deles. Conheço os dois trabalhos - mas gostaria de saber a diferença.
javascript
http-headers
content-type
Obmerk Kronen
fonte
fonte
script
otype
atributo de uma tag quando anosniff
diretiva é especificada. developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers/…Respostas:
text/javascript
é obsoleto eapplication/x-javascript
foi experimental (daí ox-
prefixo) por um período de transição até queapplication/javascript
pudesse ser padronizado.Você deveria usar
application/javascript
. Isso está documentado na RFC .No que diz respeito aos navegadores, não há diferença (pelo menos nos cabeçalhos HTTP). Isso foi apenas uma alteração, para que os grupos de tipo
text/*
eapplication/*
MIME tivessem um significado consistente sempre que possível. (Ostext/*
tipos MIME destinam-se a conteúdo legível por humanos, o JavaScript não foi projetado para transmitir significado diretamente aos seres humanos).Observe que o uso
application/javascript
notype
atributo de um elemento de script fará com que o script seja ignorado (por estar em um idioma desconhecido) em alguns navegadores mais antigos. Continue usandotext/javascript
ou omita o atributo completamente (o que é permitido no HTML 5).Isso não é um problema nos cabeçalhos HTTP, pois os navegadores universalmente (tanto quanto sei) ignoram completamente o tipo de conteúdo HTTP dos scripts ou são modernos o suficiente para reconhecer
application/javascript
.fonte
type
atributo em um<script>
elemento. Você não pode omitir oContent-Type
cabeçalho HTTP ... nunca (se você não o especificar no PHP, o PHP será padronizado comotext/html
errado).text/javascript
obsoleto eapplication/x-javascript
experimental). Pior, deixou o início da resposta incoerente, com um bloco dizendotext/javascript
apenas saindo irrelevantemente no topo da resposta sem motivo óbvio.@echo off
for /r . %%X in (*.js) do (
svn propset svn:mime-type text/javascript "%%X"
)
que, quando executado, alterará o tipo mime de todos os arquivos JS no seu repositório para texto / javascript. Em seguida, você deve confirmar os arquivos JS no SVN com o novo tipo mime.tipos mime começando com
x-
não são padronizados. No caso de javascript, está meio desatualizado. Adicional o segundo trecho de códigorequer
short_open_tags
estar ativado. você deve evitá-lo.No entanto, o tipo mime completamente correto para javascript é
http://www.iana.org/assignments/media-types/application/index.html
fonte
De acordo com a RFC 4329, o tipo MIME correto para JavaScript deve ser
application/javascript
. Howerver, versões mais antigas do IE se engasgam com isso, pois esperamtext/javascript
.fonte
type
atributo HTML diz (e nos rascunhos do HTML 5 esse atributo pode ser omitido para JavaScript).Use type = "application / javascript"
No caso do HTML5, o atributo type é obsoleto, você pode removê-lo. Nota: como o padrão é "text / javascript", de acordo com o w3.org, sugiro adicionar o "application / javascript" em vez de removê-lo.
Use "application / javascript" porque "text / javascript" está obsoleto :
O x-javascript é experimental, não o use.
fonte