任何人都可以解释为redirect()函数使用'location'和'refresh'参数之间的具体区别。它是否仅适用于Windows使用“刷新”时出现错误或者它实际上是否用于更重要的目的?
答案 0 :(得分:7)
CodeIgniter的redirect
函数(位于system/helpers/url_helper.php
)允许您使用PHP的header()
函数发送HTTP标头。
location 标头指示网络浏览器加载网页,并使用 3xx HTTP状态代码发送。例如: 301 - 暂时移动或 302 - 永久移动(CodeIgniter的默认设置)。
Location response-header字段用于重定向收件人 到Request-URI以外的位置以完成请求 或识别新资源。
Refresh 实际上是由Netscape创建的专有扩展程序。它不是official standards的一部分,但大多数网络浏览器都采用了它并支持它。
您可能想要使用其中一个的原因有多种 - location
应该受到符合标准的所有浏览器的支持,refresh
可能不支持。 refresh
可以'break' the back button浏览器(location
不会)并且可能有performance issues。 location
在HTTP代码中发送重定向的原因,但refresh
没有;它只指示浏览器刷新指定的页面。