Exceto pelo documento html, atualmente todos os arquivos (css, javascript e imagens) servidos no meu servidor da web não especificam content-type
no cabeçalho da resposta http. Por acaso, notei isso, pois pretendo remover o type
atributo em minha script
tag e link
tag, mas me deparei com esta resposta que diz o seguinte:
O tipo MIME também é enviado pelo cabeçalho HTTP Content-Type, portanto, usar type = "text / css" seria apenas bytes extras.
css
javascript
http-headers
Pergunta Overflow
fonte
fonte
Content-Type
cabeçalho para esses arquivos? Se você estiver vendo a resposta dos arquivos exibidos no cache do navegador , provavelmente não verá umContent-Type
cabeçalho.304 not modified
arquivo. Não é exatamente o cache, mas o tipo de conteúdo é descartado do cabeçalho. Desabilitando o cache, tudo parece normal novamente.Respostas:
Sim . Pelo protocolo HTTP, cláusula 7.2.1 :
Portanto, sim, os cabeçalhos de resposta devem conter
Content-Type
cabeçalho para qualquer dado de resposta (chamado "entidade-corpo" no protocolo, geralmente "arquivo" em linguagem comum). Se for omitido, o navegador poderá fazer suas próprias suposições sobre o tipo de dados que obteve. Em muitos contextos, o risco de suposições erradas é insignificante, mas isso não é uma boa desculpa para violar o protocolo.Atributos como
type=text/css
etype=text/javascript
não foram necessários, exceto por algumas especificações formais ou mesmo úteis. Mesmo que um servidor envie incorretamente, por exemplo, dados CSS semContent-Type
, os navegadores tratarão os dados como CSS se<link rel=stylesheet ...>
foi o elemento que causou a solicitação. É orel
atributo que importa nesse caso.fonte