php-header函数

来源:互联网 发布:数据校验方式 编辑:程序博客网 时间:2024/05/27 02:32

1、定义
http协议中,服务器的回答(response)内容包括:头信息(header)和 体内容。头信息用户看不见,包括:服务器信息、日期、内容的长度等。体内容为html。
2、头信息作用
1)跳转:

header('location:xxx')

当浏览器中国接受到头信息中的Location:xxx后,就会自动跳到xxx指向的url地址,该跳转只有浏览器知道,用户看不见
2)指定网页的内容:

header('Content-type:application/xml')

若头信息中指定:Content-type:application/xml的话。浏览器会将其按照xml文件格式解析。(浏览器不是按照扩展名解析文件)

//文档类型   和 服务器响应HTTP的类型'chm'=>'application/octet-stream','ppt'=>'application/vnd.ms-powerpoint','xls'=>'application/vnd.ms-excel','doc'=>'application/msword','exe'=>'application/octet-stream','rar'=>'application/octet-stream','js'=>"javascrīpt/js",'css'=>"text/css",'hqx'=>"application/mac-binhex40",'bin'=>"application/octet-stream",'oda'=>"application/oda",'pdf'=>"application/pdf",'ai'=>"application/postsrcipt",'eps'=>"application/postsrcipt",'es'=>"application/postsrcipt",'rtf'=>"application/rtf",'mif'=>"application/x-mif",'csh'=>"application/x-csh",'dvi'=>"application/x-dvi",'hdf'=>"application/x-hdf",'nc'=>"application/x-netcdf",'cdf'=>"application/x-netcdf",'latex'=>"application/x-latex",'ts'=>"application/x-troll-ts",'src'=>"application/x-wais-source",'zip'=>"application/zip",'bcpio'=>"application/x-bcpio",'cpio'=>"application/x-cpio",'gtar'=>"application/x-gtar",'shar'=>"application/x-shar",'sv4cpio'=>"application/x-sv4cpio",'sv4crc'=>"application/x-sv4crc",'tar'=>"application/x-tar",'ustar'=>"application/x-ustar",'man'=>"application/x-troff-man",'sh'=>"application/x-sh",'tcl'=>"application/x-tcl",'tex'=>"application/x-tex",'texi'=>"application/x-texinfo",'texinfo'=>"application/x-texinfo",'t'=>"application/x-troff",'tr'=>"application/x-troff",'roff'=>"application/x-troff",'shar'=>"application/x-shar",'me'=>"application/x-troll-me",'ts'=>"application/x-troll-ts",'gif'=>"image/gif",'jpeg'=>"image/pjpeg",'jpg'=>"image/pjpeg",'jpe'=>"image/pjpeg",'ras'=>"image/x-cmu-raster",'pbm'=>"image/x-portable-bitmap",'ppm'=>"image/x-portable-pixmap",'xbm'=>"image/x-xbitmap",'xwd'=>"image/x-xwindowdump",'ief'=>"image/ief",'tif'=>"image/tiff",'tiff'=>"image/tiff",'pnm'=>"image/x-portable-anymap",'pgm'=>"image/x-portable-graymap",'rgb'=>"image/x-rgb",'xpm'=>"image/x-xpixmap",'txt'=>"text/plain",'c'=>"text/plain",'cc'=>"text/plain",'h'=>"text/plain",'html'=>"text/html",'htm'=>"text/html",'htl'=>"text/html",'rtx'=>"text/richtext",'etx'=>"text/x-setext",'tsv'=>"text/tab-separated-values",'mpeg'=>"video/mpeg",'mpg'=>"video/mpeg",'mpe'=>"video/mpeg",'avi'=>"video/x-msvideo",'qt'=>"video/quicktime",'mov'=>"video/quicktime",'moov'=>"video/quicktime",'movie'=>"video/x-sgi-movie",'au'=>"audio/basic",'snd'=>"audio/basic",'wav'=>"audio/x-wav",'aif'=>"audio/x-aiff",'aiff'=>"audio/x-aiff",'aifc'=>"audio/x-aiff",'swf'=>"application/x-shockwave-flash"'myz'=>"application/myz"".*"="application/octet-stream"".001"="application/x-001"".301"="application/x-301"".323"="text/h323"".906"="application/x-906"".907"="drawing/907"".a11"="application/x-a11"".acp"="audio/x-mei-aac"".ai"="application/postscript"".aif"="audio/aiff"".aifc"="audio/aiff"".aiff"="audio/aiff"".anv"="application/x-anv"".asa"="text/asa"".asf"="video/x-ms-asf"".asp"="text/asp"".asx"="video/x-ms-asf"".au"="audio/basic"".avi"="video/avi"".awf"="application/vnd.adobe.workflow"".biz"="text/xml"".bmp"="application/x-bmp"".bot"="application/x-bot"".c4t"="application/x-c4t"".c90"="application/x-c90"".cal"="application/x-cals"".cat"="application/vnd.ms-pki.seccat"".cdf"="application/x-netcdf"".cdr"="application/x-cdr"".cel"="application/x-cel"".cer"="application/x-x509-ca-cert"".cg4"="application/x-g4"".cgm"="application/x-cgm"".cit"="application/x-cit"".class"="java/*"".cml"="text/xml"".cmp"="application/x-cmp"".cmx"="application/x-cmx"".cot"="application/x-cot"".crl"="application/pkix-crl"".crt"="application/x-x509-ca-cert"".csi"="application/x-csi"".css"="text/css"".cut"="application/x-cut"".dbf"="application/x-dbf"".dbm"="application/x-dbm"".dbx"="application/x-dbx"".dcd"="text/xml"".dcx"="application/x-dcx"".der"="application/x-x509-ca-cert"".dgn"="application/x-dgn"".dib"="application/x-dib"".dll"="application/x-msdownload"".doc"="application/msword"".dot"="application/msword"".drw"="application/x-drw"".dtd"="text/xml"".dwf"="Model/vnd.dwf"".dwf"="application/x-dwf"".dwg"="application/x-dwg"".dxb"="application/x-dxb"".dxf"="application/x-dxf"".edn"="application/vnd.adobe.edn"".emf"="application/x-emf"".eml"="message/rfc822"".ent"="text/xml"".epi"="application/x-epi"".eps"="application/x-ps"".eps"="application/postscript"".etd"="application/x-ebx"".exe"="application/x-msdownload"".fax"="image/fax"".fdf"="application/vnd.fdf"".fif"="application/fractals"".fo"="text/xml"".frm"="application/x-frm"".g4"="application/x-g4"".gbr"="application/x-gbr"".gcd"="application/x-gcd"".gif"="image/gif"".gl2"="application/x-gl2"".gp4"="application/x-gp4"".hgl"="application/x-hgl"".hmr"="application/x-hmr"".hpg"="application/x-hpgl"".hpl"="application/x-hpl"".hqx"="application/mac-binhex40"".hrf"="application/x-hrf"".hta"="application/hta"".htc"="text/x-component"".htm"="text/html"".html"="text/html"".htt"="text/webviewhtml"".htx"="text/html"".icb"="application/x-icb"".ico"="image/x-icon"".ico"="application/x-ico"".iff"="application/x-iff"".ig4"="application/x-g4"".igs"="application/x-igs"".iii"="application/x-iphone"".img"="application/x-img"".ins"="application/x-internet-signup"".isp"="application/x-internet-signup"".IVF"="video/x-ivf"".java"="java/*"".jfif"="image/jpeg"".jpe"="image/jpeg"".jpe"="application/x-jpe"".jpeg"="image/jpeg"".jpg"="image/jpeg"".jpg"="application/x-jpg"".js"="application/x-javascript"".jsp"="text/html"".la1"="audio/x-liquid-file"".lar"="application/x-laplayer-reg"".latex"="application/x-latex"".lavs"="audio/x-liquid-secure"".lbm"="application/x-lbm"".lmsff"="audio/x-la-lms"".ls"="application/x-javascript"".ltr"="application/x-ltr"".m1v"="video/x-mpeg"".m2v"="video/x-mpeg"".m3u"="audio/mpegurl"".m4e"="video/mpeg4"".mac"="application/x-mac"".man"="application/x-troff-man"".math"="text/xml"".mdb"="application/msaccess"".mdb"="application/x-mdb"".mfp"="application/x-shockwave-flash"".mht"="message/rfc822"".mhtml"="message/rfc822"".mi"="application/x-mi"".mid"="audio/mid"".midi"="audio/mid"".mil"="application/x-mil"".mml"="text/xml"".mnd"="audio/x-musicnet-download"".mns"="audio/x-musicnet-stream"".mocha"="application/x-javascript"".movie"="video/x-sgi-movie"".mp1"="audio/mp1"".mp2"="audio/mp2"".mp2v"="video/mpeg"".mp3"="audio/mp3"".mp4"="video/mpeg4"".mpa"="video/x-mpg"".mpd"="application/vnd.ms-project"".mpe"="video/x-mpeg"".mpeg"="video/mpg"".mpg"="video/mpg"".mpga"="audio/rn-mpeg"".mpp"="application/vnd.ms-project"".mps"="video/x-mpeg"".mpt"="application/vnd.ms-project"".mpv"="video/mpg"".mpv2"="video/mpeg"".mpw"="application/vnd.ms-project"".mpx"="application/vnd.ms-project"".mtx"="text/xml"".mxp"="application/x-mmxp"".net"="image/pnetvue"".nrf"="application/x-nrf"".nws"="message/rfc822"".odc"="text/x-ms-odc"".out"="application/x-out"".p10"="application/pkcs10"".p12"="application/x-pkcs12"".p7b"="application/x-pkcs7-certificates"".p7c"="application/pkcs7-mime"".p7m"="application/pkcs7-mime"".p7r"="application/x-pkcs7-certreqresp"".p7s"="application/pkcs7-signature"".pc5"="application/x-pc5"".pci"="application/x-pci"".pcl"="application/x-pcl"".pcx"="application/x-pcx"".pdf"="application/pdf"".pdf"="application/pdf"".pdx"="application/vnd.adobe.pdx"".pfx"="application/x-pkcs12"".pgl"="application/x-pgl"".pic"="application/x-pic"".pko"="application/vnd.ms-pki.pko"".pl"="application/x-perl"".plg"="text/html"".pls"="audio/scpls"".plt"="application/x-plt"".png"="image/png"".png"="application/x-png"".pot"="application/vnd.ms-powerpoint"".ppa"="application/vnd.ms-powerpoint"".ppm"="application/x-ppm"".pps"="application/vnd.ms-powerpoint"".ppt"="application/vnd.ms-powerpoint"".ppt"="application/x-ppt"".pr"="application/x-pr"".prf"="application/pics-rules"".prn"="application/x-prn"".prt"="application/x-prt"".ps"="application/x-ps"".ps"="application/postscript"".ptn"="application/x-ptn"".pwz"="application/vnd.ms-powerpoint"".r3t"="text/vnd.rn-realtext3d"".ra"="audio/vnd.rn-realaudio"".ram"="audio/x-pn-realaudio"".ras"="application/x-ras"".rat"="application/rat-file"".rdf"="text/xml"".rec"="application/vnd.rn-recording"".red"="application/x-red"".rgb"="application/x-rgb"".rjs"="application/vnd.rn-realsystem-rjs"".rjt"="application/vnd.rn-realsystem-rjt"".rlc"="application/x-rlc"".rle"="application/x-rle"".rm"="application/vnd.rn-realmedia"".rmf"="application/vnd.adobe.rmf"".rmi"="audio/mid"".rmj"="application/vnd.rn-realsystem-rmj"".rmm"="audio/x-pn-realaudio"".rmp"="application/vnd.rn-rn_music_package"".rms"="application/vnd.rn-realmedia-secure"".rmvb"="application/vnd.rn-realmedia-vbr"".rmx"="application/vnd.rn-realsystem-rmx"".rnx"="application/vnd.rn-realplayer"".rp"="image/vnd.rn-realpix"".rpm"="audio/x-pn-realaudio-plugin"".rsml"="application/vnd.rn-rsml"".rt"="text/vnd.rn-realtext"".rtf"="application/msword"".rtf"="application/x-rtf"".rv"="video/vnd.rn-realvideo"".sam"="application/x-sam"".sat"="application/x-sat"".sdp"="application/sdp"".sdw"="application/x-sdw"".sit"="application/x-stuffit"".slb"="application/x-slb"".sld"="application/x-sld"".slk"="drawing/x-slk"".smi"="application/smil"".smil"="application/smil"".smk"="application/x-smk"".snd"="audio/basic"".sol"="text/plain"".sor"="text/plain"".spc"="application/x-pkcs7-certificates"".spl"="application/futuresplash"".spp"="text/xml"".ssm"="application/streamingmedia"".sst"="application/vnd.ms-pki.certstore"".stl"="application/vnd.ms-pki.stl"".stm"="text/html"".sty"="application/x-sty"".svg"="text/xml"".swf"="application/x-shockwave-flash"".tdf"="application/x-tdf"".tg4"="application/x-tg4"".tga"="application/x-tga"".tif"="image/tiff"".tif"="application/x-tif"".tiff"="image/tiff"".tld"="text/xml"".top"="drawing/x-top"".torrent"="application/x-bittorrent"".tsd"="text/xml"".txt"="text/plain"".uin"="application/x-icq"".uls"="text/iuls"".vcf"="text/x-vcard"".vda"="application/x-vda"".vdx"="application/vnd.visio"".vml"="text/xml"".vpg"="application/x-vpeg005"".vsd"="application/vnd.visio"".vsd"="application/x-vsd"".vss"="application/vnd.visio"".vst"="application/vnd.visio"".vst"="application/x-vst"".vsw"="application/vnd.visio"".vsx"="application/vnd.visio"".vtx"="application/vnd.visio"".vxml"="text/xml"".wav"="audio/wav"".wax"="audio/x-ms-wax"".wb1"="application/x-wb1"".wb2"="application/x-wb2"".wb3"="application/x-wb3"".wbmp"="image/vnd.wap.wbmp"".wiz"="application/msword"".wk3"="application/x-wk3"".wk4"="application/x-wk4"".wkq"="application/x-wkq"".wks"="application/x-wks"".wm"="video/x-ms-wm"".wma"="audio/x-ms-wma"".wmd"="application/x-ms-wmd"".wmf"="application/x-wmf"".wml"="text/vnd.wap.wml"".wmv"="video/x-ms-wmv"".wmx"="video/x-ms-wmx"".wmz"="application/x-ms-wmz"".wp6"="application/x-wp6"".wpd"="application/x-wpd"".wpg"="application/x-wpg"".wpl"="application/vnd.ms-wpl"".wq1"="application/x-wq1"".wr1"="application/x-wr1"".wri"="application/x-wri"".wrk"="application/x-wrk"".ws"="application/x-ws"".ws2"="application/x-ws"".wsc"="text/scriptlet"".wsdl"="text/xml"".wvx"="video/x-ms-wvx"".xdp"="application/vnd.adobe.xdp"".xdr"="text/xml"".xfd"="application/vnd.adobe.xfd"".xfdf"="application/vnd.adobe.xfdf"".xhtml"="text/html"".xls"="application/vnd.ms-excel"".xls"="application/x-xls"".xlw"="application/x-xlw"".xml"="text/xml"".xpl"="audio/scpls"".xq"="text/xml"".xql"="text/xml"".xquery"="text/xml"".xsd"="text/xml"".xsl"="text/xml"".xslt"="text/xml"".xwd"="application/x-xwd"".x_b"="application/x-x_b"".x_t"="application/x-x_t"".myz"="application/myz

3)附件:

header('Content-Disposition:attachement;filename="xxx"');//指定内容为附件readfile('original.pdg');

浏览器有时会根据Content-type来判断打开还是保存,若忘记可能会出现,讲一下下载附件当网页打开,显示乱码。可使用Content-Disposition;attachment;filename=”xxx”来指定该内容为附件。
注意
header必须在体内容前输出,若之前有任何输出,header函数写的头信息就没用了。可通过设置:output_buffer来解决(php4以及更高版本中,可使用输出缓存来解决此问题)
4)缓存:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Cache-Control: no-cache");header("Pragma: no-cache");

使用一些选项更改浏览器的默认缓存设置
网页缓存由Cache-control 来控制,常见取值有 private、no-cache、max-age、must-revalidate等。默认为private,不同值的作用:
打开新窗口
private、no-cache、must-revalidate – 重新访问服务器
max-age – 在值内的时间里不会重新访问服务器
在地址栏回车
private、must-revalidate – 仅第一次访问时会访问服务器
no-cache – 每次都会访问
max-age – 过期前不会重复访问
后退按钮
private、must-revalidate、max-age – 不会访问
no-cache – 每次访问
按刷新按钮
无论何止,就会重复访问
Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。

另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT
当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页。

旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。

所以为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。
如果客户端通过安全连接 (https://)与服务器通讯,且服务器在响应中返回 Pragma:no-cache 标题,
则 Internet Explorer不会缓存此响应。注意:Pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 Expires:-1相同,该页将被缓存,但被标记为立即过期

5)header常用指令
header分为三部分:
第一部分为http协议的版本(HTTP-Version);
第二部分为状态代码(Status);
第三部分为原因短语(Reason-Phrase)。

//延迟一段时间后重定向  // redrict with delay:  header('Refresh: 10; url=http://www.example.org/');  echo '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');//最后修改时间(在缓存的时候可以用到)  // 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'); // 设置内容的长度 (缓存的时候可以用到):  // set content length (good for caching):  header(’Content-Length: 1234′);// 显示登录对话框,可以用来进行HTTP认证  // Flash animation// show sign in box  header('HTTP/1.1 401 Unauthorized');  header('WWW-Authenticate: Basic realm="Top Secret"');  echo 'Text that will be displayed if the user hits cancel or ';  echo 'enters wrong login data';

参照文档:http://www.kubiji.cn/topic-id1643.html

0 0