PHP中的header()函数用于发送原生HTTP头信息,其核心功能与用法如下:
1. 基本功能
控制服务器向客户端(浏览器)发送的HTTP响应头,需在输出任何实际内容前调用。
支持设置状态码、重定向、内容类型、缓存策略等HTTP协议关键参数。
2. 常见应用场景
重定向页面
通过Location头实现跳转,需配合exit终止脚本执行:
header("Location: http://example.com");
exit;设置内容类型(Content-Type)
声明响应数据的格式(如JSON、PDF):
header("Content-Type: application/json");控制缓存行为
禁止浏览器缓存页面内容:
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");设置HTTP状态码
手动指定响应状态(如404):
header("HTTP/1.1 404 Not Found");3. 注意事项
调用时机:必须在输出HTML、空格或换行前调用,否则会触发
Cannot modify header information警告。参数说明:
string $header:头信息字符串(如"Content-Type: text/html")。bool $replace:是否覆盖同名头(默认true)。int $response_code:强制设置HTTP状态码。
4. 底层机制
遵循HTTP/1.1协议规范(RFC 7230),头部与消息体需空行分隔。
特殊头如
HTTP/开头的字符串用于计算状态码,Location:则自动触发302重定向。
通过合理使用header(),可实现精细化的HTTP响应控制,但需严格注意调用顺序以避免错误。