What is header information?
Here is only a simple explanation, detailed look at the HTTP protocol.
In the HTTP protocol, the server-side answer (response) consists of two parts: header information (headers) and body content, where the header information is not part of the
What's the use of header information?
Header information has many functions, the most important of which are the following:
1, Jump: When the browser to accept the end of the information in the location:xxxx, it will automatically jump to XXXX to point to the URL address, this is a bit like using JS write jump. But this jumps only the browser to know, no matter in the body content has the thing, the user cannot see.
2, specify the content of the Web page: the same XML file, if the header information specified: Content-type:application/xml, the browser will be in accordance with the XML file format parsing. However, if the header information is: Content-type:text/xml, the browser will treat it as a saved text parsing. (The browser does not parse the file according to the extension)
3, Accessories: Do not know if we have no attention, and sometimes in some sites to download things, the point of download connection, the result of the browser will be this attachment as a Web page opened, inside the display is garbled, this problem is also related to the head information. Sometimes the browser is based on Content-type to determine whether to open or save, so sometimes you will judge the error (mainly the web designer forgot to write Content-type). In fact, there is another can specify the content as an attachment, need to save, this is: content-disposition:attachment; Filename= "xxxxx"
How do I write in PHP?
1, Jump:
The code is as follows |
Copy Code |
Header ("location:http://www.example.com/"); |
2, the specified content:
The code is as follows |
Copy Code |
Header (' content-type:application/pdf '); |
3, Accessories:
The code is as follows |
Copy Code |
Header (' content-type:application/pdf '); Specify content formatting Header (' content-disposition:attachment; filename= "Downloaded.pdf"); Specify content as Attachment ReadFile (' original.pdf '); Open the file and output |
Finally, it is important to note that all header information must precede the body content, and that header information written by the header function is useless if there is any output. For example, at the beginning of the file <?php, if there are spaces or empty lines, the header function is useless (in fact, can be set: Output_buffer to solve, anyway), why so, you can look at the HTTP protocol, very simple.
The code is as follows |
Copy Code |
<?php 200 normal state Header (' http/1.1 OK ');
301 permanent Redirect, remember to add a redirect to the following address Location: $url Header (' http/1.1 moved Permanently ');
Redirect, in fact, is 302 temporarily redirected Header (' location:http://www.111cn.net/');
Set page 304 without modification Header (' http/1.1 304 not Modified ');
Display the Login box, Header (' http/1.1 401 Unauthorized '); Header (' Www-authenticate:basic realm= ' login information '); Echo ' Displays the information! ';
403 No Access Header (' http/1.1 403 Forbidden ');
404 error Header (' http/1.1 404 Not Found ');
500 Server Error Header (' http/1.1 Internal Server Error ');
REDIRECT the specified address after 3 seconds (that is, refreshing to the new page is the same as <meta http-equiv= "Refresh content=" 10;http://www.111cn.net//>) Header (' Refresh:3; url=http://www.111cn.net/'); Echo ' 10 jump to http://www.111cn.net ';
overriding x-powered-by values Header (' x-powered-by:php/5.3.0 '); Header (' x-powered-by:brain/0.6b ');
Setting the context language Header (' content-language:en ');
Set the last time the page was modified (more for anti-caching) $time = time ()-60; It is recommended that you use the FILETIME function to set page cache time Header (' last-modified: ' Gmdate (' d, D M Y h:i:s ', $time). ' GMT ');
Set Content length Header (' content-length:39344 ');
Sets the header file type, which can be used for streaming files or file downloads Header (' Content-type:application/octet-stream '); Header (' content-disposition:attachment; filename= "Example.zip"); Header (' content-transfer-encoding:binary '); ReadFile (' example.zip ');//Read files to Client
disabling page Caching Header (' Cache-control:no-cache, No-store, max-age=0, Must-revalidate '); Header (' Expires:mon, June 1997 05:00:00 GMT '); Header (' Pragma:no-cache ');
Set Page header information Header (' content-type:text/html; charset=iso-8859-1 '); Header (' content-type:text/html; Charset=utf-8 '); Header (' Content-type:text/plain '); Header (' Content-type:image/jpeg '); Header (' Content-type:application/zip '); Header (' content-type:application/pdf '); Header (' Content-type:audio/mpeg '); Header (' Content-type:application/x-shockwave-flash '); //.... As for the Content-type value, you can check the document library of the consortium, which is rich ?> |
example, File download
code is as follows |
copy code |
Header (" Content-type:application/vnd.ms-excel; Charset=utf-8 "); Header ("Pragma:public"); Header ("expires:0"); Header ("Cache-control:must-revalidate, Post-check=0, pre-check=0"); Header ("Content-type:application/force-download"); Header ("Content-type:application/octet-stream"); Header ("Content-type:application/download"); Header ("Content-disposition:attachment;filename=". $title. ". XLS "); Header ("Content-transfer-encoding:binary"); |