código de status nginx 200 e 304

2

Estou usando nginx + passageiro. Estou tentando entender a resposta do nginx 200 e 304. O que isso significa? Às vezes, ele responde em 304 e outros apenas 200. Lendo o blog YUI, parece que o navegador precisa do cabeçalho "Last-Modified" para verificar com o servidor. Eu estou querendo saber porque o navegador precisa verificar a data da última modificação. Aqui está minha configuração nginx:

location / {
    root /var/www/placexpert/public;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    rack_env development;
    passenger_use_global_queue on;

    if ($request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$) {
        expires max;
        break;
    }
}

Como eu adicionaria o cabeçalho "Last-Modified" aos arquivos estáticos? Qual valor devo definir?

    
por Chamnap 27.04.2011 / 11:09

1 resposta

3

O código HTTP 200 significa que o documento / solicitação foi encontrado e exibido / concluído com êxito (em oposição a 302 (encontrado) ou 404, em que o documento não foi encontrado).

HTTP 304 significa que os dados não foram modificados, portanto, a versão em cache da sua máquina foi usada para salvar o download do servidor novamente. Normalmente, isso é um arquivo estático ao usar o nginx e parece ser o caso do seu exemplo devido a essa seção da configuração:

if ($request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$) {
    expires max;
    break;

Você definiu um tempo máximo de expiração nesse tipo de tipo de arquivo, por isso não fará o download novamente.

    
por 29.04.2011 / 16:27