vertical tabla que poner inmovilizar horizontal filas fijo fijar fija encabezado ejemplos cursiva con como columnas columna http http-headers httpresponse

tabla - Qué encabezados de respuesta HTTP se requieren



tabla con header fijo y scroll(horizontal y vertical) (2)

¿Qué encabezados de respuesta HTTP deben enviarse desde el servidor al cliente?

Estoy trabajando para optimizar los encabezados de respuesta HTTP para minimizar la sobrecarga de respuesta HTTP. Sé que la "sobrecarga" es algo exagerada, pero me gusta una salida limpia.

Veo muchos sitios web, que envían encabezados de caché redundantes.

p.ej

Es redundante especificar Expires y Cache-Control: max-age , o especificar Last-Modified y ETag .

  • Source
  • HTTP / 1.1: Definiciones de campo de encabezado

Depende de lo que defina que se requiere: no hay campos de encabezado que deben enviarse con cada respuesta, independientemente de las circunstancias, pero hay campos de encabezado que realmente debe enviar. El único campo de encabezado que se cierra es Date , pero incluso tiene circunstancias en las que no es necesario.

En el lenguaje de RFC 2119 , el término DEBE significar que algo es un requisito de la especificación y no cumplir con el requisito sería inválido. No hay campos de encabezado definidos por los RFC 7230 , 7231 , 7232 , 7233 , 7234 o 7235 que DEBEN ser enviados por un servidor de origen en todos los casos .

Los siguientes encabezados, por ejemplo, se pueden omitir (aunque probablemente debería enviarlos):

7.1.1.2. Fecha

Un servidor de origen NO DEBE enviar un campo de encabezado de Date si no tiene un reloj capaz de proporcionar una aproximación razonable de la instancia actual en el Tiempo Universal Coordinado. Un servidor de origen PUEDE enviar un campo de encabezado de Date si la respuesta está en la clase de códigos de estado 1xx (informativo) o 5xx (error de servidor). Un servidor de origen DEBE enviar un campo de encabezado de Date en todos los demás casos.

Tenga en cuenta la última frase de la cita. El campo del encabezado de la Date DEBE enviarse si el servidor de origen es capaz de proporcionar una "aproximación razonable" de la fecha en UTC, pero no hay nada que impida que un servidor se tergiverse.

7.4.2. Servidor

Un servidor de origen PUEDE generar un campo de Server en sus respuestas.

3.3.2. Largancia de contenido

Aparte de [un número finito de casos predefinidos], en ausencia de Transfer-Encoding , un servidor de origen DEBE enviar un campo de encabezado de Content-Length cuando se conoce el tamaño del cuerpo de la carga útil antes de enviar la sección de encabezado completa.

Sobre el tema de Content-Length de Content-Length y Transfer-Encoding , tenga en cuenta que no se puede enviar ninguno, en cuyo caso la longitud de la respuesta está "determinada por el número de octetos recibidos antes de que el servidor cierre la conexión".

3.1.1.5. Tipo de contenido

Si un campo de encabezado de Content-Type no está presente, el receptor PUEDE asumir un tipo de medio de application/octet-stream (RFC2046, Sección 4.5.1) o examinar los datos para determinar su tipo.

Hay circunstancias en las que se pueden requerir encabezados particulares, por ejemplo:


Depende de los aspectos específicos de la respuesta, pero en general, una respuesta de un servidor de origen debe tener:

  • Fecha
  • Tipo de contenido
  • Servidor

y ya sea Content-Length, Transfer-Encoding o Connection: close.

Si desea realizar el almacenamiento en caché, agregue Cache-Control (por ejemplo, con max-age); El vencimiento ya no es generalmente necesario. Si desea que los clientes puedan validar, agregue Last-Modified o ETag.