PHP中常用header头汇总

一、介绍

header头是指在HTTP响应或请求中添加的一些元素,这些元素可以在响应和请求之间传递信息。在PHP中,可以通过header()函数来设置和获取header头。

二、常用header头

2.1 指定HTTP状态码

使用header头可以返回不同的HTTP状态码,其中比较常用的状态码如下:

- 200 OK:表示成功响应请求,返回对应的资源;

- 301 Moved Permanently:请求的资源已经永久被移动到其他URL;

- 302 Found:请求的资源已经临时被移动到其他URL;

- 404 Not Found:请求的资源不存在;

- 500 Server Error:服务器内部错误。

通过header头可以设置对应的状态码,示例代码如下:

```

header("HTTP/1.1 404 Not Found");

```

2.2 设置字符编码

设置header头的charset属性可以指定返回的内容的字符编码类型,示例代码如下:

```

header("Content-type: text/html; charset=utf-8");

```

2.3 控制缓存

对于静态资源,可以设置header头控制缓存,可以在服务器端减少资源请求,提高页面性能。比如,设置控制缓存过期时间为一天,示例代码如下:

```

header("Cache-Control: max-age=86400");

```

2.4 跳转页面

设置header头的Location属性可以实现页面跳转,代码如下:

```

header("Location: http://www.example.com/");

```

2.5 设置响应类型

设置header头的Content-type属性可以指定返回类型,比如html、json等,示例如下:

```

header("Content-type: application/json");

```

2.6 下载文件

通过设置header头可以实现文件下载,代码如下:

```

header("Content-disposition: attachment; filename=file.mp3");

header("Content-type: application/octet-stream");

```

2.7 防止跨站脚本攻击

针对跨站脚本攻击,可以设置header头的X-XSS-Protection属性来防御此类攻击,示例代码如下:

```

header("X-XSS-Protection: 1; mode=block");

```

2.8 防止点击劫持攻击

针对点击劫持攻击,可以设置header头的X-Frame-Options属性来防御此类攻击,示例代码如下:

```

header("X-Frame-Options: DENY");

```

2.9 跨域资源共享(CORS)

使用header头可以控制跨域资源共享(CORS),示例代码如下:

```

header("Access-Control-Allow-Origin: http://www.example.com");

header("Access-Control-Allow-Headers: X-Requested-With, Content-type");

header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");

```

2.10 设置cookie

通过设置header头的Set-Cookie属性可以设置cookie,示例代码如下:

```

header("Set-Cookie: name=value; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/");

```

三、总结

本文介绍了PHP中常用的header头,包括设置HTTP状态码、字符编码、缓存控制、页面跳转、响应类型、文件下载、防止跨站脚本攻击、点击劫持攻击、跨域资源共享和设置cookie等。掌握这些知识可以让我们更好地利用header头来控制HTTP响应和请求,提高网站的性能和安全性。

后端开发标签