一些 Apache 日志问题

一些 Apache 日志问题

在以下日志片段中,什么原因会导致某些请求返回 302 状态,而最后一个请求返回 200 状态?据我了解,302 表示“请求的资源暂时位于不同的 URI 下”,但为什么会这样呢?我希望每个请求的响应代码都是 200,如日志示例的最后一行所示。

还想知道 HTTP/1.0 与 1.1 的区别,但我想我知道那个,所以......真的,为什么对于相同的资源(没有移动)有 302 与 200 状态代码?

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" 

答案1

应用程序可以强制 Apache 返回 302 以将“Location:”标头发送回客户端浏览器。

例如,在 php 中如果你写入以下代码:

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

如果 [条件] 评估为真,则 Apache 将返回 302 错误,而不是 200(如果 [条件] 评估为假)。

阿诺。

相关内容