header()函数用于发送原生的HTTP头。header()前不能有输出!
1.关于头信息。
在HTTP协议中,HTTP消息为:客户端发送的request请求消息和服务器端发送的respose响应消息。
请求消息:HTTP头(请求行+请求头)+HTTP体(请求体); 响应消息:HTTP头(状态行+响应头)+HTTP体(响应体)
这HTTP头的头信息,不是HTML中的<head></head>部分,当然HTTP体的体内容也不是HTML中的<body></body>部分。
头信息包括很多东西:详细见:www.cnblogs.com/aliang1992/p/6049578.html。
2.常见的header()函数例子:
第一种:以“HTTP/”开头的,将会被用来计算出将要发送的HTTP状态码。
例如:在Apache服务器上用PHP脚本处理不存在文件的请求,就会希望脚本响应正确的状态码。
<?php header("HTTP/1.0 404 Not Found"); ?>
第二种:以“Location:”开头的,它不仅吧报文发送给浏览器,而且还将返回给浏览器一个状态码。
通俗点讲,就是自动跳转到 http://www.example.com/的URL地址。
<?php header("Location: http://www.example.com/"); exit; ?>
第三种: 以“Content-type:”开头的,告诉浏览器,服务器响应的对象类型。
例如:application/xml text/xml 等。决定浏览器讲义什么形式,什么编码读取这个文件。
第四种:以“Content-Disposition:”,指定内容附件。
服务器端想客户端浏览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt.jpg等,会直接在浏览器中显示,如果需要提示用户
保存,就要利用Content-Disposition进行处理。
<?php header("Content-Disposition","attachment;filename=xxx.txt"); ?<