301重定向的详细信息

时间:2017-12-23 11:45:35

标签: php http redirect

我正在使用PHP进行作业,如果输入的URL有轻微错误,我已实施301重定向。这让我想到重定向实际上是如何工作的。我正在使用像这样基本的东西:

header("Location: https://www.example.com");

我还注意到,在没有尾部斜杠的情况下输入目录时,Apache会自动重定向。结果是一样的。

我的理解是服务器发送具有301状态和适当位置标头的响应。现在,客户端是否需要发出另一个请求,或者服务器是否自动发送了正确的资源?此外,客户端可以忽略重定向吗?

1 个答案:

答案 0 :(得分:3)

当返回重定向时,客户端会向新URL发出另一个请求。重定向可以是完全不同的服务器,因此原始服务器无法自行发送正确的资源。即使服务器可以自己返回资源,客户端也需要知道新的URL,因为其中的相对URL需要相对于该位置而不是原始位置进行解析。

客户端当然可以忽略重定向。如果您使用curl选项,则--location客户端仅遵循重定向。大多数客户端也会限制他们为满足单个请求而遵循的重定向数量,以防止重定向循环。