说起 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详解相关推荐

  1. HTTP Header 详解

    HTTP Header 详解 发布时间: 2011-02-27 21:07  阅读: 839 次  原文链接   全屏阅读  [收藏]   HTTP(HyperTextTransferProtocol ...

  2. HTTP Header 详解,headers的值都是什么意思

    HTTP Header 详解 HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求 ...

  3. ELF header 详解

    32 位 ELF header 定义: typedef struct {unsigned char e_ident[EI_NIDENT]; /* Magic number和其它信息 */Elf32_H ...

  4. okhttp之 header详解

    Http 的请求 和 应答包括 header部分 和body部分,以下对header部分进行详解,仅供参考. Request的header注释: Header 注释 示例 Accept 指定客户端能够 ...

  5. HTTP Header 详解,互联网营销

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  6. 【转】HTTP Header 详解

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  7. HTTP Header 详解【转】

    原文出自:http://kb.cnblogs.com/page/92320/ HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用 ...

  8. PCIe扫盲——TLP Header详解(一)

    转:http://blog.chinaaet.com/justlxy/p/5100053352 事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Da ...

  9. 30.PCIe扫盲——TLP Header详解(一)

    事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Data Payload为1-1024DW,最后的TLP Digest(ECRC)是可选的,为1DW ...

最新文章

  1. 摩尔定律行将就木?AI灵丹助其返老还童!(附论文)
  2. 17、任务十六——事件委托机制、简单表单验证
  3. 最大子序和—leetcode53
  4. 图像局部显著性—点特征(GLOH)
  5. Java中数据是如何存储
  6. 如何保证添加自定义对象元素的唯一性
  7. 有多少种 “图片格式”?
  8. 为什么要学 Flink,Flink 优势在哪?
  9. 【计算机专业日志100篇ctrlc、ctrlv】
  10. arduino代码_Arduino超声波传感器测距代码完全解析
  11. bat文件的@echo off是什么作用?
  12. maven 本地仓库的配置以及如何修改默认.m2仓库位置
  13. 原理图端口符号_200 一步步开始学习制作PCBamp;PCBA--绘制原理图
  14. java达内项目_达内IT学院举办Java互联网架构师项目峰会
  15. Python3模拟斗地主发牌
  16. 互联网工作 常用名词及基础知识扫盲
  17. vuejselectron-vue----朝花夕拾.
  18. 安卓接班人?Fuchsia能补上安卓硬伤吗
  19. 按图索骥|到底网络空间安全、网络安全、信息安全之间有啥区别?
  20. android 左右声道,Android左右声道的控制

热门文章

  1. 蓝桥杯 ADV-77 算法提高 统计平均成绩
  2. win8 计算机配置,Win8如何进行系统配置
  3. 一周工作所用的日常 Git 命令
  4. Vue.js的虚拟dom
  5. 【酷熊科技】工作积累 ----------- 内存优化之GC.MarkDependencies
  6. C# 解析 Json数据
  7. 用JS中的cookie实现商品的浏览记录
  8. 《机器人学经典教程》——2.1 控制理论
  9. MYSQL-查询过去7天的数据 当天没有值的赋予默认值0或者其他
  10. java拷贝构造函数