设置清除缓存:
<?php // Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); ?>
http头信息
header头信息的作用很多,最主要的有下面几个:
1、跳转
当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。
例:header("Location: http://www.xker.com/");
2、指定网页的内容
同样一个XML文件,如果头信息中指定:Content-type: application/xml 的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type: text/xml 的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)
例:header('Content-type: application/pdf');
3、附件
不知道大家有没有注意,有些时候在一些网站下载东西,点下载连接以后,结果浏览器将这个附件当成网页打开了,里面显示的都是乱码,这个问题也和头信息有关。有时候浏览器根据Content-type 来判断是打开还是保存,这样有时就会判断错误(主要是网站设计者忘记写Content-type)。其实,还有一个可以来指定该内容为附件、需要保存,这个就是:Content-Disposition: attachment; filename="xxxxx"
例:header('Content-Disposition: attachment; filename="downloaded.pdf"');
//打开文件,并输出
readfile('original.pdf');
HTTP协议状态码
1×× 保留
2×× 表示请求成功地接收
3×× 为完成请求客户需进一步细化请求
4×× 客户错误
5×× 服务器错误
语法:
header(string,replace,http_response_code)
参数
string:必需。规定要发送的报头字符串。
replace:可选。指示该报头是否替换之前的报头,或添加第二个报头。默认是 true(替换)。false(允许相同类型的多个报头)。
http_response_code:可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)