这可能是一个挑剔的问题,但仍然......
我将在 404 页面上有一个“返回”按钮/链接。AFAIK 它可以使用 JavaScripthistory.go(-1)
或 PHP 来实现$_SERVER['HTTP_REFERER']
我的问题是:一个比另一个有什么优点和缺点?
这可能是一个挑剔的问题,但仍然......
我将在 404 页面上有一个“返回”按钮/链接。AFAIK 它可以使用 JavaScripthistory.go(-1)
或 PHP 来实现$_SERVER['HTTP_REFERER']
我的问题是:一个比另一个有什么优点和缺点?
最好的方法是在每个请求上设置一个会话变量(即 PREVIOUS_REQUEST)。这是保留该信息的唯一可靠方法。这需要你做一些工作,但至少这是一个肯定的选择。
由于浏览器中的极端安全设置(即禁用 javascript),可能会禁止 javascript 历史记录。
该$_SERVER['HTTP_REFERER']
值也由浏览器提供,因此也不保证会被填充。
$_SERVER['HTTP_REFERER']
仍然可能是您的最佳选择,但请记住您可以在此处找到的限制:
在什么情况下 HTTP_REFERER 将为空