The header() is a pre-defined network function of PHP, which sends a raw HTTP header to a client. One important point to be noted about the header() function is that it must be called before sending any actual output.
The header() function sends an HTTP header in raw form to the client or browser. Before sending any other output, the HTTP functions manipulate the information sent by the web-server to the client or browser.
The header() function accepts three parameters, which are discussed below in detail:
The header parameter contains the header string to send. This function has two types of special header calls.
The first header starts with an "HTTP/" string, which locates the HTTP status code for sending.
The second special case of header starts with "Location:" header. It not only sends back the header to the browser, but it also provides a REDIRECT (302) status code to the browser, until the 201 or 3xx status code has already been set.
This parameter is used for specifying whether a previous same header should be replaced by the header or add another header of same type. The $replace is a boolean type optional parameter.
The default value is TRUE, which means that it replaces the previous same header. But you can bind several headers of same type if FALSE is passed as second argument.
The $http_response_code is an optional parameter, which forces the HTTP response code to a specified value.
Note: The http_response_code parameter has an effect if the header is not blank.
The PHP header() function does not return any value.
After PHP version 5.1.2, this function stops sending more than one header to prevent the header injection attacks. It allows only one header at a time.
With the help of below examples, you can understand the actual working of header() function in runtime environment-
Example 1: Redirecting browser
The following code will redirect your user to some another page.
It will redirect to the new URL location, which is given in header() function of the above program, i.e., www.javatpoint.com. If any line of code is written after the header(), it will not execute.
Example 2: Redirection interval
The following code will redirect your user to another page after 10 seconds.
The output will be same as the example 1, but it will take 10 seconds to load.
Note: If any line of code is written after the header() function, it will not execute.
Example 3: Don't cache pages
By using the following code, you can prevent the browser to cache pages.
Hello Javatpoint! Array (  => X-Powered-By: PHP/7.3.13  => Expires: Tue, 03 March 2001 04:50:34 GMT  => Cache-Control: no-cache  => Pragma: no-cache )
Absolute URI is required by some older clients, which includes the hostname, scheme, and absolute path, whereas most contemporary clients accept relative URI as argument to Location. To make absolute URI, you can use $SERVER['PHP_SELF'], $SERVER['HTTP_HOST'], and dirname().
Create two php files, one of which for containing header file code and another for redirecting to a new page on the browser.