Headers#

Permite añadir los campos de cabecera Expires y Cache-Control, y campos arbitrarios, a una cabecera de respuesta.

Ejemplo de configuración#

expires    24h;
expires    modified +24h;
expires    @24h;
expires    0;
expires    -1;
expires    epoch;
expires    $expires;
add_header Cache-Control private;

Directivas#

add_header#

Sintaxis

add_header name value [always];

Predeterminado

Contexto

http, server, location, if in location

Añade el campo especificado a una cabecera de respuesta siempre que el código de respuesta sea igual a 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307, o 308. El valor del parámetro puede contener variables.

Puede haber varias directivas add_header. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas add_header definidas en el nivel actual.

Si se especifica el parámetro always, el campo de cabecera se añadirá independientemente del código de respuesta.

add_trailer#

Sintaxis

add_trailer name value [always];

Predeterminado

Contexto

http, server, location, if in location

Añade el campo especificado al final de una respuesta siempre que el código de respuesta sea igual a 200, 201, 206, 301, 302, 303, 307, o 308. El valor del parámetro puede contener variables.

Puede haber varias directivas add_trailer. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas add_trailer definidas en el nivel actual.

Si se especifica el parámetro always, el campo especificado se añadirá independientemente del código de respuesta.

expires#

Sintaxis

expires [modified] time;

expires epoch | max | off;

Predeterminado

expires off;

Contexto

http, server, location, if in location

Habilita o deshabilita la adición o modificación de los campos de cabecera de respuesta Expires y Cache-Control siempre que el código de respuesta sea igual a 200, 201, 204, 206, 301, 302, 303, 304, 307, o 308. El parámetro puede ser un tiempo positivo o negativo.

El tiempo en el campo Expires se calcula como la suma del tiempo actual y el tiempo especificado en la directiva. Si se usa el parámetro modified, entonces el tiempo se calcula como la suma del tiempo de modificación del archivo y el tiempo especificado en la directiva.

Además, es posible especificar una hora del día usando el prefijo "@":

expires @15h30m;

El contenido del campo Cache-Control depende del signo del tiempo especificado:

  • el tiempo es negativo — "Cache-Control: no-cache".

  • el tiempo es positivo o cero — "Cache-Control: max-age=`t`", donde t es el tiempo especificado en la directiva, en segundos.

epoch

establece Expires al valor "Thu, 01 Jan 1970 00:00:01 GMT", y Cache-Control a "no-cache".

max

establece Expires al valor "Thu, 31 Dec 2037 23:55:55 GMT", y Cache-Control a 10 años.

off

deshabilita la adición o modificación de los campos de cabecera de respuesta Expires y Cache-Control.

El valor del último parámetro puede contener variables:

map $sent_http_content_type $expires {
    default         off;
    application/pdf 42d;
    ~image/         max;
}

expires $expires;