Http заголовки у відповідях сервера

Всі статті з циклу:

У цій статті ми розглянемо заголовки у відповідях сервера.

Cache-Control

Cache-Control - головний заголовок, який використовується для вказівки виду кешірвоанія сторінки всіма механізмами кешування, які може використовувати ваш провайдер. Даний заголовок може бути використаний з наступними значеннями:

Content-Type

Цей заголовок вказує mime-type документа. Залежно від значення content-type, браузер по-різному відображає передане йому вміст. Наприклад, HTML-сторінки (або скрипти PHP, повертають HTML) можуть повернути браузеру такий заголовок:

«Text» - це тип документа, а html - його підтип. Крім типів, вказується кодування, в якій передається текст.

Для передачі gif зображення content-type буде таким:

На основі змісту content-type, браузер використовує свої програми або підключає програми ззовні.
Наприклад, наступний заголовок змусить браузер завантажити Adobe Reader для успішного відображення документа:

При завантаженні документів, сервер apache, як правило, сам визначає mime-type документів і відправляє потрібний заголовок. Однак, якщо цього не сталося з якихось причин, або mime-type вказано невірно, браузери можуть відобразити вміст документа коректно завдяки власним механізмам розпізнавання виду документа.

Список найпоширеніших mime-типів документів ви можете знайти тут.

Якщо ви не можете визначити mime-type документа, скористайтеся функцією php finfo_file ()

Content-Disposition

Тема вказує браузеру, що замість відображення файлу необхідно відкрити вікно завантаження і запропонувати користувачеві завантажити файл.

Цей заголовок використовується в зв'язці з заголовком запиту If-Modified-Since. Обидва заголовка дозволяють кешувати файл, а потім порівнювати час створення кеша і час останньої зміни файлу. Якщо ж в кеші застаріла версія файлу, файл буде викачаний з сервера. В іншому випадку файл буде взятий з кеша.

Один з моїх улюблених заголовків, який я часто використовую. Заголовок використовується для перенаправлення (редиректу) браузера. Якщо статус запиту буде дорівнює 301 або 302, сервер обов'язково відправить цей заголовок.

В php можна перенаправити користувача на іншу сторінку в такий спосіб:

За замовчуванням цей заголовок супроводжується статусом 302. Якщо ви хочете відправити статус 301, то код повинен виглядати наступним чином:

Невелике пояснення: другий аргумент функції дорівнює true. Цей аргумент відповідає за перезапис заголовків з такою ж назвою. Якщо його значення встановлено в false, то на додаток до существющему заголовку location буде сформований ще один, який ми зараз створили. Якщо його значення встановлено в true, то наш новий заголовок буде записаний поверх старого.
Ну а третій аргумент - це і є статус сервера.

Set-Cookie

Заголовок використовується для встановлення та оновлення cookie на в вашому браузері.

setcookie ( "TestCookie". "foobar". time () + 3600);

Якщо не вказувати термін зберігання cookie, вони втечуть автоматично при закритті вікна браузера

WWW-Authenticate

WWW-Authenticate: Basic realm = "Restricted Area"

Http заголовки у відповідях сервера

Схожі статті