HTTP заголовки ответа (сервера) - как их отправить, получить или удалить на PHP
HTTP заголовки очень важны для обмена информацией между браузером и сервером. Они бывают двух типов – заголовки запроса и заголовки ответа. В этой статье рассматриваются заголовки ответа.
Как отправить HTTP заголовки ответа
Так как заголовки ответа посылаются сервером, необходимо использовать средства языка программирования, например, средства PHP. В нем существуют специальные функции для работы с заголовками. Для отправки заголовка – функция header.
Отправлять заголовки можно только в том случае, если еще не отправлялись никакие данные. Перед вызовом это функции не должно быть никаких HTML-тегов, пустых строк и т.п., в том числе и во включаемых файлах. То есть сначала отправляются заголовки, а потом сами данные.
Примеры отправки заголовков на PHP в браузер:
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
header('Location: https:// example.com');
Как получить HTTP заголовки ответа
Для этого есть следующие функции:
- get_headers - возвращает все заголовки из ответа сервера на HTTP-запрос;
- apache_response_headers - возвращает список всех HTTP-заголовков ответа Apache;
- http_response_code - получает или устанавливает код ответа HTTP;
- headers_list - возвращает список переданных заголовков (или готовых к отправке).
Еще можно использовать библиотеку CURL. Как получить заголовки ответа при помощи CURL? Пример:
if ($curl = curl_init('https://example.com')) {
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_HEADER, true);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
Как удалить HTTP заголовки ответа
Удалить заголовки можно при помощи специальной функции - header_remove. Сначала необходимо проверить, были ли посланы заголовки:
if (!headers_sent()) {
header_remove('Content-Type');
}
Как видно из статьи, работать с HTTP заголовками ответа на стороне сервера очень просто.
Последние статьи
- ИТ / Разное 08.07.21 Как бесплатно сделать перевод для сайта без API, перевод документов в Google Translate
- ИТ / Разное 06.07.21 Как сделать кнопку подписки на сайте, базу подписчиков и автоматическую рассылку
- Еда / Разное 06.07.21 Как быстро приготовить вкусные жаренные пирожки с картошкой и луком
- ИТ / Разное 04.07.21 Кэширование - создание, загрузка и сброс. Где хранить кэш, способы и виды кэширования
- ИТ / Базы данных 03.07.21 Свой NoSQL - хранение данных в файлах и не только в базе данных. Хранение настроек, небольших данных и файлов кеширования