header function

WBOY
WBOYOriginal
2016-08-08 09:32:21890browse

No matter how many headers the page has, it will always execute the last one, but it is conditional, for example:

header('Location:http://www.nowamagic.net'); 
header('Location:http://www.g.cn'); 
header('Location:http://www.baidu.com'); 

This will jump to Baidu

The role of the header function

PHP just sends the header of the HTML document to the HTTP protocol The browser tells the browser how to process this page. As for the transmitted content, you need to be familiar with the HTTP protocol, which has nothing to do with PHP.

The traditional header must contain one of the following three headers and can only appear once:

Location: xxxx:yyyy/zzzz 
Content-Type: xxxx/yyyy 
Status: nnn xxxxxx 

How the HTTP protocol operates

The HTTP protocol is based on the request/response paradigm. After a client establishes a connection with the server, it sends a request to the server. The format of the request is: agreed resource identifier, protocol version number, followed by MIME information, including request modifier, client information and possible content. After the server receives the request, it responds with response information in the format of a status line, including the protocol version number of the information, a success or error code, followed by MIME information including server information, entity information and possible content.

It is divided into four processes. In the HTTP protocol, the server refers to the part that provides HTTP services, and the client refers to the browser or download tool used, etc. During communication, the client sends a request for connection, and the server establishes the connection; then, the client sends an HTTP request (Request), and the server returns response information (Respond), thus completing an HTTP operation

Indicated by the HTTP protocol status code Meaning

1××  保留 
2××  表示请求成功地接收 
3××  为完成请求客户需进一步细化请求 
4××  客户错误 
5××  服务器错误   

Operation example

Redirect function

 Header("Location: http://www.php.net/");

Force users to get the latest information every time they visit this page, instead of using the cache that exists on the client

//告诉浏览器此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT"); 
//告诉浏览器此页面的最后更新日期(用格林威治时间表示)也就是当天,目的就是强迫浏览器获取最新资料 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 
//告诉客户端浏览器不使用缓存 
header("Cache-Control: no-cache, must-revalidate"); 
//参数(与以前的服务器兼容),即兼容HTTP1.0协议 
header("Pragma: no-cache"); 
//输出MIME类型 
header("Content-type: application/file"); 
//文件长度 
header("Content-Length: 227685"); 
//接受的范围单位 
header("Accept-Ranges: bytes"); 
//缺省时文件保存对话框中的文件名称 
header("Content-Disposition: attachment; filename=$filename"); 


Output the status value to the browser, mainly Used for access control

header('HTTP/1.1 401 Unauthorized');
header('status: 401 Unauthorized');

For example, if you want to restrict a user from accessing this page, you can set the status to 404, as shown below, so that the browser will display that the page does not exist
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
Note: Traditional The header must contain one of the following three headers and can only appear once. Content-Type: xxxx/yyyy Location: xxxx:yyyy/zzzz Status: nnn xxxxxx can appear more than twice in the new multipart header specification (Multipart MIME).

Let users download files

header("Content-type: application/x-gzip"); 
header("Content-Disposition: attachment; filename=文件名"); 
header("Content-Description: PHP3 Generated Data"); 

The above introduces the header function, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn