[nginx] [http] nginx sobre la configuración del encabezado http

Nginx tiene las siguientes tres configuraciones para el encabezado http.

1 proxy_set_header

https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header

El comando de configuración proxy_set_header se define en ngx_http_proxy_module.

Se utiliza para modificar el encabezado de solicitud http.

 

2 add_header

https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header

El comando de configuración add_header se define en ngx_http_headers_module.

Se utiliza para modificar el encabezado de respuesta http devuelto por el servidor http,

El método de modificación es anexar en la cabecera del encabezado.

 

3 add_tailer

http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_trailer

El comando de configuración add_tailer se define en ngx_http_headers_module.

La función es la misma que add_header, la diferencia es que se agrega al final del encabezado.

 

4 Orden del encabezado http

Ahora que hay una diferencia entre agregar al principio o agregar al final. Entonces uno no puede evitar preguntar, ¿hay alguna diferencia en el orden de la estructura KV dentro del encabezado http?

Al leer rfc 2616, puede aprender lo siguiente:

rfc no tiene requisitos obligatorios para el orden de encabezado de http, pero una buena práctica es generalmente:

El orden debe ser: encabezado general, encabezado de solicitud o encabezado de respuesta, encabezado de entidad.

El orden en que se reciben los campos de encabezado con diferentes nombres de campo no es significativo. Sin embargo, 
se está " buenas prácticas " para enviar campos de cabecera en general en primer lugar, seguido de solicitud en la cabecera
campos de cabecera o response-, y terminando con los campos entidad de cabecera.

 

Además, si hay varios encabezados con el mismo nombre, la "implementación" debe comprimir sus valores, separados por comas.

Si el contenido separado por comas contiene información de secuencia debe definirse en ambos extremos de la comunicación, y el proxy que actúa como intermediario no debe modificarlos.

Múltiples campos de encabezado de mensaje con el mismo nombre de campo PUEDEN estar presentes en un mensaje si y solo si
el valor de campo completo para ese campo de encabezado se define como una lista separada por comas [es decir, # (valores)].
TIENE que ser posible combinar los múltiples campos de cabecera en un " nombre-campo: campo-valor " par,
sin cambiar la semántica del mensaje, añadiendo cada subsiguiente campo-valor a la
primera, cada uno separado por una coma. El orden en que se
reciben los campos de encabezado con el mismo nombre de campo espor lo tanto, es importante para la interpretación del valor de campo combinado
y , por lo tanto, un proxy NO DEBE cambiar el orden de estos valores de campo cuando se reenvía un mensaje .

 

Supongo que te gusta

Origin www.cnblogs.com/hugetong/p/12737012.html
Recomendado
Clasificación