Para cualquier sitio web, es importante configurar correctamente los encabezados HTTP. Se han escrito muchos artículos sobre el tema de los titulares. Aquí hemos resumido la experiencia acumulada y la documentación RFC. Algunos de los títulos son obligatorios, otros están desactualizados y otros pueden causar confusión y contradicciones. Hicimos una riñonera para
- establecer el valor de los encabezados estándar;
- agregue sus propios encabezados personalizados;
- especifique la versión del protocolo HTTP: 1.0, 1.1, 2 (comprueba si se admite HTTP/2);
- especifique el método de solicitud, el tiempo de espera y los datos posteriores que se enviarán al servidor;
- El beanbag también verifica la exactitud de la respuesta a las solicitudes If-Modified-Since, If-None-Match, si la respuesta del servidor contiene Last-Modified o ETag.
No pretendemos ser la verdad última. Naturalmente, puede haber diferencias en contenidos individuales y proyectos individuales. Pero este servicio le dirá exactamente a qué debe prestar atención y puede resultarle útil para editar sus títulos. A continuación se muestra una lista de a qué presta atención el servicio de verificación. Por qué es así, lee
Encabezados requeridos
- Fecha
- Tipo de contenido que indica juego de caracteres para contenido de texto, preferiblemente utf-8
- Compresión de codificación de contenido para contenido de texto
Encabezados obsoletos e innecesarios
- Servidor con versión detallada del servidor web
- X-Power-By
- Versión X_ASPNET
- Expira
- Pragma
- P3P
- Vía
- Compatible con X-UA
Encabezados deseables para la seguridad
- Opciones de tipo de contenido X
- Protección X-XSS
- Estricto-Transporte-Seguridad
- Política de referencia
- Política de características
- Content-Security-Policy o Content-Security-Policy-Report-Only para deshabilitar scripts y estilos en línea.
Encabezados para almacenamiento en caché
Obligatorio para contenido estático con una vida útil de caché prolongada y muy deseable para contenido dinámico con una vida útil de caché corta.
- Última modificación
- ETag
- Cache-Control
- Variar
- Es importante que el servidor responda correctamente a los encabezados: If-Modified-Since y If-None-Match
HTTP / 2
El servidor ahora debería admitir HTTP/2. De forma predeterminada, el servicio comprueba el funcionamiento del servidor a través de HTTP/2. Si su servidor no admite HTTP/2, seleccione HTTP/1.1.
Fuente: habr.com