Tipos de headers mais utilizados no PHP
301 Moved Permanently (redirect)
Informa ao usuário que a página acessada foi movida permanentemente. (301)
// Define cabeçalhoheader('HTTP/1.1 301 Moved Permanently');
// Redireciona usuárioheader('Location: https://www.meusite.com/pagina.html');
// Encerra scriptdie();
302 Moved Temporarily (redirect)
Informa ao usuário que a página acessada foi movida temporariamente. (302)
// Redireciona usuárioheader('Location: https://www.meusite.com/pagina.html');
// Encerra scriptdie();
404 Page Not Found
Informa ao usuário que a página não foi encontrada. (404)
// Define cabeçalhoheader('HTTP/1.1 404 Not Found');
503 Service not available
Informa ao usuário que a página e/ou servidor estão indisponíveis no momento, motivado por dificuldades técnicas ou outro motivo. (503)
// Define cabeçalhoheader('HTTP/1.1 503 Service Temporarily Unavailable');header('Status: 503 Service Temporarily Unavailable');
// Solicita atualização após 60 segundosheader('Retry-After: 60');
PDF output
Faz o PHP carregar um arquivo PDF e exibir no script acessado
// Define cabeçalho como tipo PDFheader('Content-Type: application/pdf');
// Carrega e imprime arquivo teste.pdfecho file_get_contents('teste.pdf');
Cache
Faz o PHP forçar o browser do usuário a não armazenar dados em cache.
// Define data de expiração para 1997 (ou seja, o browser vai sempre forçar atualização)
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
// Faz o browser forçar atualização da página e a não guardar nada em cacheheader('Cache-Control: no-store, no-cache, must-revalidate');header('Cache-Control: pre-check=0, post-check=0, max-age=0');header('Pragma: no-cache');
Forçar download de arquivo pelo browser
Faz o PHP gerar a saída como um arquivo que irá ser baixado quando o script for acessado.
// Variável do arquivo$arquivo = "arquivo.zip";
// Define como saída um arquivo anexoheader('Content-Disposition: attachment; filename=' . urlencode($arquivo));
// Cabeçalhos que preparam o browser para abrir caixa de diálogo de downloadheader('Content-Type: application/force-download');header('Content-Type: application/octet-stream');header('Content-Type: application/download');header('Content-Description: File Transfer');
// Conta tamanho do arquivo em bytesheader('Content-Length: ' . filesize($arquivo));
// Imprime dados do arquivoecho file_get_contents($arquivo);