基于header的一些常用指令详解

  header常用指令

  header分为三部分:

  第一部分为HTTP协议的版本(HTTP-Version);

  第二部分为状态代码(Status);

  第三部分为原因短语(Reason-Phrase)。

  // fix 404 pages:   用这个header指令来解决URL重写产生的404 header

  header('HTTP/1.1 200 OK');

  // set 404 header:   页面没找到

  header('HTTP/1.1 404 Not Found');

  //页面被永久删除,可以告诉搜索引擎更新它们的urls

  // set Moved Permanently header (good for redrictions)

  // use with location header

  header('HTTP/1.1 301 Moved Permanently');

  // 访问受限

  header('HTTP/1.1 403 Forbidden');

  // 服务器错误

  header('HTTP/1.1 500 Internal Server Error');

  // 重定向到一个新的位置

  // redirect to a new location:

  header('Location: http://www.example.org/');

  延迟一段时间后重定向

  // redrict with delay:

  header('Refresh: 10; url=http://www.example.org/');

  print 'You will be redirected in 10 seconds';

  // 覆盖 X-Powered-By value

  // override X-Powered-By: PHP:

  header('X-Powered-By: PHP/4.4.0');

  header('X-Powered-By: Brain/0.6b');

  // 内容语言 (en = English)

  // content language (en = English)

  header('Content-language: en');

  //最后修改时间(在缓存的时候可以用到)

  // last modified (good for caching)

  $time = time() - 60; // or filemtime($fn), etc

  header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');

  // 告诉浏览器要获取的内容还没有更新

  // header for telling the browser that the content

  // did not get changed

  header('HTTP/1.1 304 Not Modified');

  // 设置内容的长度 (缓存的时候可以用到):

  // set content length (good for caching):

  header('Content-Length: 1234');

  // 用来下载文件:

  // Headers for an download:

  header('Content-Type: application/octet-stream');

  header('Content-Disposition: attachment; filename="example.zip"');

  header('Content-Transfer-Encoding: binary');

  // 禁止缓存当前文档:

  // load the file to send:readfile('example.zip');

  // Disable caching of the current document:

  header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');

  header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

  // 设置内容类型:

  // Date in the pastheader('Pragma: no-cache');

  // set content type:

  header('Content-Type: text/html; charset=iso-8859-1');

  header('Content-Type: text/html; charset=utf-8');

  header('Content-Type: text/plain');

  // plain text file

  header('Content-Type: image/jpeg');

  // JPG picture

  header('Content-Type: application/zip');

  // ZIP file

  header('Content-Type: application/pdf');

  // PDF file

  header('Content-Type: audio/mpeg');

  // Audio MPEG (MP3,...) file

  header('Content-Type: application/x-shockwave-flash');

  // 显示登录对话框,可以用来进行HTTP认证

  // Flash animation// show sign in box

  header('HTTP/1.1 401 Unauthorized');

  header('WWW-Authenticate: Basic realm="Top Secret"');

  print 'Text that will be displayed if the user hits cancel or ';

  print 'enters wrong login data';?>

  // 发送一个200 正常响应

  header("HTTP/1.1 200 OK");

  // 发送一个404 找不到资源响应

  header('HTTP/1.1 404 Not Found');

  // 发送一个301 永久重定向

  header('HTTP/1.1 301 Moved Permanently');

  // 发送一个503 网站暂时不能访问

  header('HTTP/1.1 503 Service Temporarily Unavailable');

  // 网页重定向

  header('Location: http://www.glzy8.com');

  // 设置网页3秒后重定向

  header('Refresh: 3; url=http://www.glzy8.com');

  echo '网页将在3秒后跳转到http://www.glzy8.com';

  // 设置网页编码

  header('Content-Type: text/html; charset=utf-8');

  // 设置网页输出一个图片流

  header('Content-Type: image/jpeg');

  // 设置网页输出一个pdf文档

  header('Content-Type: application/pdf');

  // 设置网页输出一个zip文档

  header('Content-Type: application/zip');