了解PHP中的header函数,以便设置HTTP头信息。
header() 函数用于发送 HTTP 响应的头部信息。它可以用于设置各种类型的头部信息,包括重定向、缓存控制、Cookie 等。
下面是一些常见的用法和示例:
1. 设置 HTTP 响应状态码
通过设置 header("HTTP/1.1 404 Not Found") 可以向客户端发送一个 404 Not Found 错误页面。
2. 重定向
使用 header("Location: http://www.example.com") 可以将用户重定向到另一个URL。例如,将用户从登录页面重定向到主页。
3. 设置缓存控制
通过设置头部信息可控制浏览器缓存的行为。例如,通过设置 header("Cache-Control: no-cache, no-store, must-revalidate") 可以禁用缓存。
4. 设置 Cookie
使用 header("Set-Cookie: name=value; expires=Thu, 31 Dec 2020 23:59:59 GMT") 可以设置一个新的 Cookie。该示例中设置了一个名为 name 的 Cookie,值为 value,过期时间为 2020 年底。
5. 设置内容类型
通过设置 header("Content-Type: text/html") 可以告诉浏览器返回的内容是 HTML 类型的。可以设置各种类型,如 text/plain、application/json 等。
6. 设置文件下载
使用 header("Content-Disposition: attachment; filename=\"filename.ext\"") 可以指定一个文件供用户下载。该示例中设置了一个名为 filename.ext 的文件。
7. 跨域资源共享(CORS)
使用 header("Access-Control-Allow-Origin: *") 可以启用跨域资源共享。这样前端 JavaScript 就可以从不同的域名获取数据。
需要注意的是:
- header() 函数必须在任何实际的输出之前被调用,包括 HTML 标签、空格、换行等。
- 如果在执行 header() 函数之前已经有输出的话,会导致 "Cannot modify header information" 错误。
- 不同的头部信息之间需要使用分号或换行符分隔。
在应用程序开发中,header()函数经常用于重定向、设置 cookie、控制缓存以及处理跨域请求等场景。同时,也要注意合理使用这些头部信息,以确保安全性和性能。
