header location什么意思?header location如何用?

狂人 190 0

header location主要用于实现跳转或指定网页的内容,当浏览器接受到头信息中的 Location: xxxx 后,执行PHP将直接跳到指向的URL地址。这有点类似用 js 写跳转,但是这个跳转只有浏览器知道,无论内容里有没有东西,用户都看不到,那么header location如何用?

header location

一、header location 的具体用法

header('Location: http://www.krseo.com/');

其作用是:当执行这句脚本时,会直接跳转到对应的网址,即Location: 后面的网址。

二、让浏览器显示header头部的location

使用location对象可以通过很多方式来改变浏览器的位置。首先,也是最常用的方式,就是使用assign()方法并为其传递一个URL,如下所示:

location.assign(" http://www.krseo.com");

这样,就可以立即打开新URL并在浏览器的历史记录中生成一条记录。如果是将location.href或window.location设置为一个URL值,也会以该值调用assign()方法。例如,下列两行代码与显式调用assign()方法的效果完全一样:

window.location="http://www.krseo.com";
location.href="http://www.krseo.com";

在这些改变浏览器位置的方法中,最常用的是设置location.href属性。另外,修改location对象的其他属性也可以改变当前加载的页面。

三、header location 使用注意事项

1、要求header前没有任何输出

但是很多时候在header前我们已经输出了好多东西了,此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,ob的意思是在服务器端先存储有关输出,等待适当的时机再输出,而不是像现在这样运行一句,输出一句,发现header语句就只能报错了。

具体的语句有: ob_start(); ob_end_clean();ob_flush();.........

2、在header("Location:")后要及时exit

否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~