【发布时间】:2013-01-23 02:04:47
【问题描述】:
我们使用 header('Location...') 对大量请求进行重定向。我们有 4% 的请求,但没有这样做。
你有什么想法吗?
我们的请求来自所有国家/地区。
【问题讨论】:
标签: http redirect header location
我们使用 header('Location...') 对大量请求进行重定向。我们有 4% 的请求,但没有这样做。
你有什么想法吗?
我们的请求来自所有国家/地区。
【问题讨论】:
标签: http redirect header location
每个浏览器都需要实现位置标头。它是HTTP/1.1 的一部分,因此如果有任何东西想称自己为“网络浏览器”,则它需要实现位置标头。所以回答你的问题:每个网络浏览器都可以使用Location:。
尽管有一些事情你需要考虑:
您需要记住的第一件事是header('Location 需要使用绝对路径,因为在不同的浏览器中可能不支持相对 URL 或行为不正确(旧 IE 存在问题 - 根据对于 RFC 2616,位置标头必须是绝对的)。因此,如果您总是在重定向中使用绝对 URL,可能值得检查一下。
第二件事是您的跟踪系统可能无法正常工作。如果有人使用do not track policy 或编辑他的HTTP referrer,那么您的跟踪系统可能会误以为重定向没有发生。虽然它仍然会发生,但只有您的智能设备不会看到它发生。
第三个也是最后一个是 web crawlers,它可能会完全忽略标头(他们几乎从不这样做,但这可能是极少数情况之一,即有人有一个成熟的垃圾邮件机器人试图爬过您的网站),或发送不正确的回复。
我同意 4% 高得离谱,但它甚至可能发生在某个狡猾的机器人对您的网站进行一次长时间的爬网尝试。
希望对你有帮助!
【讨论】: