PHPheader():用于向客户端发送原始http报头
PHP的header()函数用于向客户端发送原始的HTTP报头。HTTP报头是由键值对组成的,每对键值对用冒号分隔,键值对之间用回车换行分隔。通过header()函数,我们可以控制返回给客户端的HTTP响应头部信息。
一般来说,我们会在服务器端使用header()函数来设置HTTP响应头部信息,以便在客户端浏览器中实现一些特定的功能。下面是一些常见的用法和示例:
1. 设置HTTP状态码:
通过header()函数可以设置HTTP状态码,用于定义服务器对请求的处理结果。例如,设置状态码为200表示请求成功,设置状态码为404表示请求的资源未找到。以下是一些常见的状态码的示例:
- header("HTTP/1.1 200 OK"); // 请求成功
- header("HTTP/1.1 404 Not Found"); // 请求的资源未找到
2. 设置Content-Type:
通过header()函数可以设置Content-Type头部字段,用于告诉浏览器以何种方式解析返回的数据。常见的Content-Type的值有text/html、application/json、image/png等。以下是一些常见的Content-Type的示例:
- header("Content-Type: text/html"); // 返回HTML格式的数据
- header("Content-Type: application/json"); // 返回JSON格式的数据
3. 设置跳转:
通过header()函数可以设置Location头部字段,用于实现页面的跳转。当设置了Location头部后,浏览器会自动跳转到指定的URL。以下是一个实现页面跳转的示例:
- header("Location: http://www.example.com"); // 跳转到指定的URL
4. 设置缓存控制:
通过header()函数可以设置Cache-Control头部字段,用于控制客户端的缓存行为。常见的Cache-Control的值有no-store、no-cache、public等。以下是一些常见的Cache-Control的示例:
- header("Cache-Control: no-store"); // 禁止客户端缓存
- header("Cache-Control: public"); // 允许客户端缓存
5. 设置其他头部信息:
除了上述示例之外,我们还可以使用header()函数设置其他的HTTP头部字段,以实现一些特定的功能。例如:
- header("Content-Disposition: attachment; filename=file.pdf"); // 设置下载文件的名称
- header("X-Powered-By: PHP"); // 设置自定义的HTTP头部字段
需要注意的是,header()函数必须在发送任何其他输出之前调用,否则会产生"Cannot modify header"错误。此外,一旦header()函数被调用,将无法再修改响应的HTTP头部信息。
总结起来,PHP的header()函数是用于向客户端发送原始的HTTP报头信息的。通过合理的使用header()函数,我们可以控制HTTP响应头部信息,从而实现一些特定的功能,如设置HTTP状态码、Content-Type、页面跳转、缓存控制等。但是需要注意的是,header()函数必须在发送任何输出之前调用,并且一旦调用后就无法再修改头部信息。
