Algumas questões do log do apache

2

No snippet de log a seguir, o que poderia fazer com que algumas solicitações retornassem um status 302 e a última retornasse um status 200? Pelo que entendi 302 significa "O recurso solicitado reside temporariamente em um URI diferente", mas por que isso seria? Eu esperaria que o código de resposta fosse 200, como na última linha do exemplo de log, para cada solicitação.

Também estou me perguntando sobre o HTTP / 1.0 versus 1.1, mas eu acho que eu sei disso, então ... realmente, apenas porque o 302 versus 200 códigos de status para o mesmo recurso (que não foi movido)?

123.201.40.136 - - [09/Feb/2011:14:13:23 -0800] "GET /report/now HTTP/1.0" 302 20 "http://foo.bar.com/reports/nowreport.swf" 
123.201.40.136 - - [09/Feb/2011:14:13:28 -0800] "GET /report/now HTTP/1.0" 302 20 "http://foo.bar.com/reports/nowreport.swf" 
123.201.40.136 - - [09/Feb/2011:14:13:41 -0800] "GET /report/now HTTP/1.0" 302 20 "http://foo.bar.com/reports/nowreport.swf"
208.319.74.24 - - [09/Feb/2011:14:13:56 -0800] "GET /report/now HTTP/1.1" 200 355 "http://foo.bar.com/reports/nowreport.swf" 
    
por Lothar_Grimpsenbacher 13.02.2011 / 18:25

1 resposta

2

Um aplicativo pode forçar o Apache a retornar 302 para retornar um cabeçalho "Location:" ao navegador do cliente.

Por exemplo, em php, se você escrever o seguinte código:

<?php if ([condition]) header('Location: http://www.google.be'); ?>

se [condição] for avaliada como verdadeira, o Apache retornará 302 de erro em vez de 200 se [condição] for avaliada como falsa.

Arnaud.

    
por 25.02.2011 / 14:06