Всі статті з циклу:
У цій статті ми розглянемо заголовки у відповідях сервера.
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"