PHP的header函数:如何进行重定向和设置HTTP响应头
发布时间:2023-06-21 17:26:38
PHP的header函数是用于向浏览器或客户端发送http头的函数。借助header函数,我们可以进行重定向和设置HTTP响应头。
1、重定向
重定向是指浏览器或客户端在访问一个页面或资源时,服务器通知浏览器或客户端请求另一个页面或资源的操作。使用header函数进行重定向的语法如下:
header("Location: http://www.example.com/");exit;
其中,Location:后跟着重定向的URL地址。需要注意的是,使用header函数时,一定要在“输出内容”之前使用。重定向之后的页面不会读取已经输出的内容。
2、设置HTTP响应头
HTTP响应头可以通过header函数来设置,设置语法如下:
header("Content-Type: text/html; charset=utf-8");
其中,Content-Type:后跟着媒体类型MIME和字符集charset。媒体类型MIME指定了服务器返回的文件类型,例如text/html(HTML文件)、image/png(PNG图片)等等。字符集charset指定了文档编码的类型。
除此之外,还可以设置缓存机制如下:
// 强制浏览器不使用缓存,每次都向服务器请求新数据
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
注意:发送HTTP头之前必须先关闭输出缓冲区,否则会出现“Cannot modify header information”的错误。
//清空缓存
ob_flush();
// 发送HTTP头,告诉浏览器内容类型为HTML
header("Content-Type:text/html");
// 其他操作,不输出内容
//...
总结
通过header函数,我们可以进行重定向和设置HTTP响应头。在设置HTTP响应头时,需要注意Content-Type的设置,以及缓存机制的控制。发送HTTP头之前必须先关闭输出缓冲区,否则会出现“Cannot modify header information”的错误。
