Заголоки для сервера через php функцию header()

Разрабатывая приложения на 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

 

Добавить комментарий