header significa cabeçalho em português.
A função header() é uma função embutida no PHP que é usada para enviar um cabeçalho HTTP bruto.
Os cabeçalhos HTTP são dados adicionais, extras, do HTTP. Eles são enviados e recebidos pelo programa cliente e pelo servidor em cada solicitação e resposta HTTP.
Exemplos de cabeçalhos, não precisa se assustar ao olhar no exemplo abaixo, mas é bom para ter noção sobre eles:
GET /home.html HTTP/1.1
Host: developer.mozilla.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://developer.mozilla.org/testpage.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT
If-None-Match: “c561c68d0ba92bbeb8b0fff2a9199f722e3a621a”
Cache-Control: max-age=0
Esses cabeçalhos geralmente são invisíveis para o usuário final e são visíveis apenas para os programas de back-end e para as pessoas administram sistemas na Internet.
back-end são aqueles programas que trabalham nos bastidores.
Usando a Função header() do PHP
A função header() abaixo é usada para redirecionar o usuário para a página categoriaoutros.com.br
<?php header('Location: http://categoriaoutros.com.br'); ?>
O próximo exemplo ajuda a evitar o armazenamento em cache. Ele faz isso enviando informações de cabeçalho que substituem a configuração do navegador para não criar cache.
<?php header("Expires: Sun, 25 Jul 1997 06:02:34 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); print_r(headers_list()); ?>
O resultado é:
Array ( [0] => Expires: Sun, 25 Jul 1997 06:02:34 GMT [1] => Cache-Control: no-cache [2] => Pragma: no-cache )
Veja: Termos: O que É Header ou Cabeçalho nos Navegadores?
Podemos usar header para muitas coisas, dentre elas:
- Alterar local da página
- Definir fuso horário
- Definir controle de cache
- Iniciar download forçado
- Enviar status HTTP