Excepto por el documento html, actualmente todos los archivos (css, javascript e imágenes) servidos desde mi servidor web no especifican el content-type
en el encabezado de respuesta http. Me doy cuenta de esto ya que tengo la intención de eliminar el type
atributo tanto en mi script
etiqueta como en mi link
etiqueta, pero encontré esta respuesta que dice lo siguiente:
El tipo MIME también se envía a través del encabezado HTTP Content-Type, por lo que usar type = "text / css" solo sería bytes adicionales.
css
javascript
http-headers
Desbordamiento de preguntas
fuente
fuente
Content-Type
encabezado para estos archivos? Si está viendo la respuesta de los archivos servidos desde la memoria caché de su navegador, entonces probablemente no verá unContent-Type
encabezado.304 not modified
archivo. No es exactamente el caché, pero el tipo de contenido se elimina del encabezado. Al deshabilitar el caché, todo parece normal nuevamente.Respuestas:
Sí . Por el protocolo HTTP, cláusula 7.2.1 :
Entonces, sí, los encabezados de respuesta deben contener
Content-Type
encabezado para cualquier dato de respuesta (llamado "entidad-cuerpo" en el protocolo, a menudo "archivo" en lenguaje común). Si se omite, el navegador puede hacer sus propias suposiciones sobre el tipo de datos que obtuvo. En muchos contextos, el riesgo de conjeturas erróneas es insignificante, pero esta no es una buena excusa para violar el protocolo.Atributos como
type=text/css
ytype=text/javascript
no han sido necesarios, excepto por algunas especificaciones formales, o incluso útiles. Incluso si un servidor envía incorrectamente, por ejemplo, datos CSS sinContent-Type
, los navegadores tratarán los datos como CSS si<link rel=stylesheet ...>
fue el elemento que causó la solicitud. Es elrel
atributo lo que importa en ese caso.fuente