您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php header的用法小结

2024/7/19 15:42:08发布28次查看
本篇文章对php语言中header函数的作用以及用法做一个小结。
php header()函数的具体作用是向客户端发送一个原始 http 标头[http header]到客户端。
标头 (header) 是服务器以 http 协义传 html 资料到浏览器前所送出的字串,在标头与 html 文件之间尚需空一行分隔。在任何实际的输出被发送之前调用 header() 函数(在 php 4 以及更高的版本中,您可以使用输出缓存来解决此问题)。
下面举一些比较常见的header用法示例:
(1)使用header实现重定向(等价于代替用户在地址栏输入url)。


(2)禁止页面在浏览器中被缓存。
如果因业务需要访问者每次都浏览页面都是得到最新的资料,而不是 proxy 或 cache 中的资料,可以使用下列的标头:

其实这里主要就是设置下面几个选项的值:
cachecontrol = no-cache
pragma=no-cache
expires = -1
当http1.1服务器指定cachecontrol = no-cache时,浏览器就不会缓存该网页。旧式 http 1.0 服务器不能使用 cache-control 标题。所以为了向后兼容 http 1.0 服务器,ie使用pragma:no-cache 标题对 http 提供特殊支持。
有关cache-control的具体介绍请参考本站文章:
网页缓存控制 cache-control 常见的取值有private、no-cache、max-age、must-revalidate 介绍
如果客户端通过安全连接 (https://) 与服务器通讯,且服务器在响应中返回 pragma:no-cache 标题,则 internet explorer 不会缓存此响应。注意:pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 expires:-1 相同,该页将被缓存,但被标记为立即过期。
expires是个好东东,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把expires设置为第二天的凌晨1点。
(3)让使用者的浏览器出现找不到档案的信息。
网上很多资料这样写:php的函数header()可以向浏览器发送status标头,如 header(”status: 404 not found”)。但是我发现实际上浏览器返回的响应却是:
http/1.x 200 ok
date: thu, 03 aug 2006 07:49:11 gmt
server: apache/2.0.55 (win32) php/5.0.5
x-powered-by: php/5.0.5
status: 404 not found
content-length: 0
keep-alive: timeout=15, max=98
connection: keep-alive
content-type: text/html
查了一些资料,正确的写法是:
header(”http/1.1 404 not found”);
第一部分为http协议的版本(http-version);第二部分为状态代码(status);第三部分为原因短语(reason-phrase)。
(4)让访问者下载档案(隐藏文件的位置)。
我们都知道通过原始的url就可以实现普通文件下载,但是如果我们需要保密文件在服务器上的存储位置,就不能直接把文件链接显示出来,这里我们就可以通过header函数隐藏文件地址同时又实现文件的下载,具体代码如下:

另外,关于使用php进行文件下载,可以参照本站文章:
php文件下载函数(代码)
下面列举一些并不是非常常见的header的用法示例:

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product