PHP中的header()函数:设置HTTP头信息,用于重定向、设置缓存等操作
header()函数是一个非常常用的PHP函数,它可以在服务器端向浏览器发送HTTP头信息,通常用于对HTTP请求进行控制,例如重定向、设置缓存等操作。
header()函数的基本语法如下:
header(string $header [, bool replace = true [, int http_response_code ]]);
其中,$header是需要发送的HTTP头信息,replace表示是否替换之前的HTTP头信息,http_response_code是可选参数,用于设置返回码,例如200表示请求成功,404表示请求未找到等。
下面分别介绍一些常见的应用场景。
1.重定向
通过header()函数可以实现重定向,即将用户重定向到其他地址。具体实现方式是在HTTP头信息中加入Location属性,例如:
header('Location: http://www.baidu.com');
这样就可以将用户重定向到百度的首页。
2.设置缓存
设置HTTP头信息可以控制浏览器的缓存方式,例如:
header('Cache-Control: public, max-age=3600');
表示将该页面的缓存时间设置为1小时。同时,如果已经存在该页面的缓存,则浏览器直接从缓存中读取,提高页面加载速度。
3.防止缓存
如果希望浏览器每次都重新请求该页面而不是从缓存中读取,可以设置如下HTTP头信息:
header('Cache-Control: no-cache, no-store, must-revalidate');
这样就会告诉浏览器该页面不应该被缓存,每次都需要重新请求。
4.设置返回码
可以通过http_response_code参数设置HTTP返回码,例如:
header('HTTP/1.1 404 Not Found');
这样就会返回404 Not Found的错误码。
5.设置字符集
可以通过设置Content-Type头信息来设置字符集,例如:
header('Content-Type:text/html; charset=utf-8');
这样就会将该页面的字符集设置为UTF-8。
总结:
header()函数可以用于控制HTTP请求,包括重定向、设置缓存、设置返回码等等。在应用中,需要根据具体的需求选择不同的场景使用。同时,在使用header()函数之前需要注意该函数必须在输出任何HTML之前调用,否则header()函数将无法正常工作。
