PHP设置响应头
在PHP中,通过header()函数可以设置响应头,示例代码如下。
// 设定编码格式
header('Content-Type:text/html;charset=UTF-8');
// 页面重定向
header('Location:login.php');
以上代码演示了自定义HTTP响应头。以重定向为例,当浏览器收到Location时,就会自动重定向到目标地址,如login.php。
服务器响应的实体内容有多种编码格式。当用户请求的是一个网页时,响应内容的格式就是HTML。如果请求的是图片,响应内容的格式就是图片的数据内容。服务器为了告知浏览器相应的内容类型,会通过响应消息头中的Content-Type来表示,示例代码如下。
// 设定网页格式
header('Content-Type:text/html;charset=UTF-8');
// 设定图片格式
header('Content-Type:image/png');
上述代码中,网页的类型是“text/html;charset=UTF-8”,表示内容的类型为HTML,字符集是UTF-8,其中“text/html”是一种MIME类型表示方式。
MIME是目前在大部分互联网应用程序中通用的一种标准,用来表示内容的类型。其表示方法为“大类别/具体类型”。接下来列举一些常见的MIME类型,如表1所示。
表1 常见MIME类型
类型 | 含义 |
---|---|
text/plain | 普通文本(.txt) |
text/xml | XML文档(.xml) |
text/html | HTML文档(.html) |
image/gif | GIF图像(.gif) |
image/png | PNG图像(.png) |
image/jpeg | JPEG图像(.jpg) |
浏览器对于服务器响应的不同MIME类型会有不同的处理方式,如遇到普通文本时直接显示,遇到HTML时渲染成网页,遇到GIF、PNG、JPEG等类型时显示为图像。如果遇到无法识别的类型时,在默认情况下会执行下载文件的操作。