php header详解
说起 php 的header函数 肯定没有人不知道,但是 如果 面试的时候让你谈谈对header的认识 ,恐怕好多人都要抓瞎啦。
下面我对header做了一些整合,大家可以参考哈。
一: 手册:
header — 发送原生 HTTP 头
void header ( string $string
[, bool $replace
= true [, int $http_response_code
]] )
replace
可选参数 replace
表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE
,就可以强制使相同的头信息并存。例如:
http_response_code
强制指定HTTP响应的值。注意,这个参数只有在报文字符串(string
)不为空的情况下才有效。
请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。这是个常见的错误,在通过include,require,或者其访问其他文件里面的函数的时候,如果在header()被调用之前,其中有空格或者空行。 同样的问题也存在于单独的 PHP/HTML 文件中。
两种 特别的头
1、以“HTTP/”开头的 (case is not significant),将会被用来计算出将要发送的HTTP状态码。 例如在 Apache 服务器上用 PHP 脚本来处理不存在文件的请求(使用 ErrorDocument 指令), 就会希望脚本响应了正确的状态码。
eg:header("HTTP/1.0 404 Not Found");
2、是“Location:”的头信息。它不仅把报文发送给浏览器,而且还将返回给浏览器一个 REDIRECT(302)的状态码,除非状态码已经事先被设置为了201或者3xx。
eg:header("Location: http://www.example.com/");
二:用法
1跳转页面
header('Location:'.$url); //Location和":"之间无空格。
2.声明content-type
header('content-type:text/html;charset=utf-8');
3.在某个时间后执行跳转
header('Refresh: 10; url=http://www.baidu.com/'); //10s后跳转。
4.返回response状态码
header('HTTP/1.1 404 Not Found');
5.控制浏览器缓存
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
6.执行http验证
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
7. 执行下载操作
header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度
转载于:https://www.cnblogs.com/ngx171/p/8578958.html
php header详解相关推荐
- HTTP Header 详解
HTTP Header 详解 发布时间: 2011-02-27 21:07 阅读: 839 次 原文链接 全屏阅读 [收藏] HTTP(HyperTextTransferProtocol ...
- HTTP Header 详解,headers的值都是什么意思
HTTP Header 详解 HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求 ...
- ELF header 详解
32 位 ELF header 定义: typedef struct {unsigned char e_ident[EI_NIDENT]; /* Magic number和其它信息 */Elf32_H ...
- okhttp之 header详解
Http 的请求 和 应答包括 header部分 和body部分,以下对header部分进行详解,仅供参考. Request的header注释: Header 注释 示例 Accept 指定客户端能够 ...
- HTTP Header 详解,互联网营销
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...
- 【转】HTTP Header 详解
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...
- HTTP Header 详解【转】
原文出自:http://kb.cnblogs.com/page/92320/ HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用 ...
- PCIe扫盲——TLP Header详解(一)
转:http://blog.chinaaet.com/justlxy/p/5100053352 事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Da ...
- 30.PCIe扫盲——TLP Header详解(一)
事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Data Payload为1-1024DW,最后的TLP Digest(ECRC)是可选的,为1DW ...
最新文章
- 摩尔定律行将就木?AI灵丹助其返老还童!(附论文)
- 17、任务十六——事件委托机制、简单表单验证
- 最大子序和—leetcode53
- 图像局部显著性—点特征(GLOH)
- Java中数据是如何存储
- 如何保证添加自定义对象元素的唯一性
- 有多少种 “图片格式”?
- 为什么要学 Flink,Flink 优势在哪?
- 【计算机专业日志100篇ctrlc、ctrlv】
- arduino代码_Arduino超声波传感器测距代码完全解析
- bat文件的@echo off是什么作用?
- maven 本地仓库的配置以及如何修改默认.m2仓库位置
- 原理图端口符号_200 一步步开始学习制作PCBamp;PCBA--绘制原理图
- java达内项目_达内IT学院举办Java互联网架构师项目峰会
- Python3模拟斗地主发牌
- 互联网工作 常用名词及基础知识扫盲
- vuejselectron-vue----朝花夕拾.
- 安卓接班人?Fuchsia能补上安卓硬伤吗
- 按图索骥|到底网络空间安全、网络安全、信息安全之间有啥区别?
- android 左右声道,Android左右声道的控制