Заголовки HTTP через PHP
- Подробности
- Категория: PHP
- Просмотров: 12187
Для тех, кто только начинает изучать PHP - заголовки HTTP является каким-то туманом, который почему-то не особо приятный...давайте его рассеивать. Любой начинающий программист должен уметь с ними работать.
Вообще нужно сказать, что заголовки HTTP используются для общения между браузером и веб-сервером. То есть один говорить в каком формате принимает, другой в каком передает.
В PHP для передачи заголовков используется функция header() - основное внимание ей.
void header ( string string [, bool replace [, int http_response_code]] )
!!! - главное - перед этой функцией(то есть перед отправкой заголовков) - не должно стоять ни пробелов, ни других html тегов, иначе будет ошибка!
Как использовать
1) Для переадрессации на другой сайт. Вы скорее всего видели в своей жизни неоднократно, заходишь на свой сайт, а он перекидывает тебя на другой, так вот это и есть применение заголовков таким образом:
header( 'Location: https://saitsozdanie.ru/' );
или перекинь меня пожалуйста, через 5 секунд после захода:
header( 'Refresh: 5; url=https://saitsozdanie.ru/' ); (то же самое но с помощью html тегов <meta http-equiv="refresh" content="5;http://saitsozdanie.ru/ />)
2) Для установки кодировки сайта:
header('Content-Type: text/html; charset=utf-8');
или тоже самое html тегом:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Основная боязнь у новичков - именно от незнания, то в одном виде видят, то в другом. Так вот знайте, что можно и так и так! Все должно стать легче!)
3) Для отработки ошибок:
//Страница выполнена корректно
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' );
4) Установка типа контента - что мы передаем рисунок - это одно, если pdf файл - то другой заголовок и тд:
header('Content-Type: text/plain'); // plain text файл
header('Content-Type: image/jpeg'); // JPG картинка в формате
header('Content-Type: audio/mpeg'); // Audio MPEG (MP3,...) файл
header('Content-Type: application/x-shockwave-flash'); // Flash animation
5) Когда последний раз изменялось содержимое контента:
header( 'Last-Modified: '.gmdate( 'D, d M Y H:i:s', ( time() - 60 ) ).' GMT' );
6) Заголовок на PHP для отключения кэширования:
header( 'Cache-Control: no-cache, no-store, max-age=0, must-revalidate' );
header( 'Expires: Mon, 1 Apr 2001 01:02:03 GMT' );
header( 'Pragma: no-cache' );
7) Задаем язык:
header( 'Content-language: en' ); // en = English
Также заголовки используются:
- для задания куки;