Керівництво по http
Поля заголовка забезпечують необхідну інформацію про зпросе, відповіді або про переданому об'єкті. Існує чотири типи заголовкоа HTTP повідомлення:
- Загальний заголовок
Застосовується для як для запиту, так і для відповіді. - Тема запиту клієнта
Застосовується тільки для запиту. - Тема відповіді сервера
Застосовується тільки для відповіді. - Тема суті
Визначає мета-дані сутності. Якщо суті немає, то мета-дані URI запиту.
Cache-Control
Дане поле заголовка визначає директиви, які повинні бути виконані системою кешування. Цей заголовок имееет такий вигляд:
Сервер або кіент можуть використовувати даний заголовок кешування або запиту документів з кешу.
приклад:
У таблиці нижче наведено список найбільш важливих директив, які можуть бути використані HTTP клієнтом в запитах:
Директива кеш-запиту і опис
Кеш не повинні використовувати запит для задоволення під-запиту без успішної перевалідаціі сервером.
no-store Кеш не повинен зберігати нічого про запит клієнта або відповіді сервера.
max-age = seconds Акцентує увагу на те, що клієнт повинен приймати відповідь, вік якого не більше, ніж час, вказане в секундах.
max-stale [= seconds] Акцентує увагу на те, що клієнт повинен приймати відповідь, який перевищує час закінчення. Якщо дані секунда, то час закінчення не повинно перевищувати зазначеного часу.
Акцентує увагу на тому, що клієнт повинен приймати відповідь, час поновлення якого не менше, ніж поточний вік, плюс час, вказане в секундах.
no-transform Чи не перетворює суті.
only-if-cached Чи не отримує нові дані. Кеш може відправляти документ тільки в тому випадку, якщо він знаходиться в кеші. І не повинен зв'язуватися з сервером для отримання більш нових існуючих копій.
Нижче наведені найбільш важливі директиви відповіді кешу, які можуть бути ісползовать сервером в HTTP відповіді:
Vary
Визначає, що сутність має кілька ресурсів, які можуть варіюватися в залежності від певного списку заголовків запиту.
WWW-Authenticate
Повинен бути включений у відповідь 401 (Unauthorized).
приклад:
Allow
Містить список методів, які підтримуються ресурсом, який визначається URL.
приклад:
Content-Encoding
Використовується як модифікатор для типу медіафайлів.
приклад:
Якщо кодування контенту, запитувана клієнтом не підтримує сервером, то буде отримана відповідь 415 (Unsupported Media Type).
Content-Language
Визначає мови для певної сутності.
Елсі ми хочемо використовувати кілька мов, то ми повинні вказати з символи через кому.
приклад:
Content-Length
Дане поле заголовка вказує розмір тіла сутності десятковим числом (символи).
приклад:
Content-Location
Використовується для підтримки локації ресурсу для сутності, вміщеній в повідомлення, коли сутність запитується з локації, відмінною від URI запитуваного ресурсу.
Content-MD5
Даний заголовок імпользуется для підтримки MD5 для сутності.
приклад:
Коли HTTP повідомлення сожержіт контент з один діапазоном, то воно передається з заголовками Content-Range і Content-Length, для того, щоб показати кількість вже переданих байтів.
наприклад:
Content-Type
Дане поле заголовка вказує тип медіафайлу тіло повідомлення, переданого реципієнту.
приклад:
Expires
Вказує дату і вермя, після якого відповідь вважається застарілим.
приклад:
Last-Modified
Дане поле заголовка вказує дату і час, коли (на думку сервера) був крайній раз змінений файл.
приклад:
На цьому ми закінчуємо розгляд полів заголовка.
У наступній статті ми розглянемо кешування в HTTP.