Разрабатывая приложения на php, многим часто бывает нужно отправить тот или иной заголовок серверу. Будь то заголовок кодировки или перенаправлении на другую страницу. Кто то использует заголовки для оповещения о недоступности страницы или о запрете на просмотр. Некоторые использую заголовки для управление кэширования.
На одном буржуйском ресурсе нашел хороший сэмпл-лист таких заголовков:
// Используйте этот заголовок для отправики сообщения об успешном ответе сервера header('HTTP/1.1 200 OK'); // Страница не найдена header('HTTP/1.1 404 Not Found'); // Доступ запрещен: header('HTTP/1.1 403 Forbidden'); //Страница навсегда перемещена. Используется для поисковых систем // чтобы помочь им обновить свою индексацию header('HTTP/1.1 301 Moved Permanently'); // Ошибка сервера header('HTTP/1.1 500 Internal Server Error'); // Перемещено на новое расположение: header('Location: http://www.example.org/'); // Перенаправление с задержкой: header('Refresh: 10; url=http://www.example.org/'); print 'Вы будете перенаправлены на новый адрес через 10 секунд'; // замена значения X-Powered-By header('X-Powered-By: PHP/4.4.0'); header('X-Powered-By: Brain/0.6b'); // язык содержимого (en = English) header('Content-language: en'); // Последняя модификация (хорошо для кэширования) $time = time() - 60; // или filemtime($fn), и т.д header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); // Сообщаем браузеру что содержимое не изменилось header('HTTP/1.1 304 Not Modified'); // Устанавливаем длину содержимого (Хорошо для кэширования): header('Content-Length: 1234'); // Заголовки для скачивания: header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); // загрузка файла для чтения: readfile('example.zip'); //Отключаем кэширование текущего документа: header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Pragma: no-cache'); // Устанавливаем тип содержимого: header('Content-Type: text/html; charset=iso-8859-1'); header('Content-Type: text/html; charset=utf-8'); header('Content-Type: text/plain'); // plain text file header('Content-Type: image/jpeg'); // JPG picture header('Content-Type: application/zip'); // ZIP file header('Content-Type: application/pdf'); // PDF file header('Content-Type: audio/mpeg'); // Audio MPEG (MP3,...) file header('Content-Type: application/x-shockwave-flash'); // Flash animation // Показываем окно авторизации header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Top Secret"'); print 'Text that will be displayed if the user hits cancel or '; print 'enters wrong login data';
Оригинал статьи: http://www.jonasjohn.de/snippets/php/headers.htm