Що таке http заголовок?
За допомогою заголовків http відбувається обмін службовими відомостями між клієнтом і сервером. Ця інформація залишається невидимою для користувачів, але без неї неможлива правильна робота браузера. Для звичайних користувачів відомості про це і про завдання http заголовків здадуться досить складними, але насправді вони не містять важких формулювань. Це те, з чим стикається веб-користувач щодня.
Що таке http заголовки?
«Протокол передачі гіпертексту» - саме так перекладається http заголовок. Завдяки його існуванню, можливий зв`язок «клієнт-сервер». Якщо пояснити простими словами, користувач браузера посилає запит, ініціюючи з`єднання з сервером. Останній, за замовчуванням, чекає запит від клієнта, обробляє його і посилає назад підсумкову інформацію або відповідь. У пошуковому рядку користувач «вбиває» адреса сайту, який починається з http: // і отримує результат у вигляді сторінки, що відкрилася.
Коли друкується адреса сайту у відповідному рядку, браузер знаходить потрібний сервер за допомогою DNS. Сервер розпізнає http заголовок (один або кілька), який посилає йому клієнт, а потім видає необхідний header. Набір обов`язкових складається з уже існуючих заголовків і не знайдених.
Загалом, http заголовки досить ефективні. Їх не видно в HTML-кодування, вони відправляються перед затребуваними відомостями. Багато заголовки автоматично висилаються сервером. Для того щоб його відіслати на мові PHP, слід скористатися функцією header.
Відео: HTTP Headers - What are they
Взаємодія браузера і сайту
Схема взаємодії браузера і сайту досить проста. Так, http заголовок починає рядок запиту, який далі посилається сервера. У відповідь приходить потрібна клієнтові інформація. Між іншим, http протокол вже сімнадцять років - найбільш використовуваний в Інтернеті. Він простий, надійний, працює швидко і гнучко. Головне завдання http - запит відомостей з web-сервера. Клієнтом є браузер, а сервером - ligthttp, apache, nginx. Якщо з`єднання між ними сталося успішно, сервер у відповідь на запит отримує потрібні відомості. Інформація http містить текстові, звукові файли, відео.
Протокол може бути транспортом для інших. Запит клієнта складається з трьох частин:
- стартовою рядка (тип повідомлення);
- заголовків (параметри повідомлення);
- тіла інформації (повідомлення, яке відокремлюється порожній рядком).
Стартовий рядок - обов`язковий елемент запиту поля заголовків http. Структура запиту користувача складається з трьох основних частин:
- Метод. З його допомогою вказується тип запиту.
- Шлях (path). Це рядок URL, яка слідує за доменом.
- Використовуваний протокол. Він складається з версії protocol і http.
Відео: The Http and the Web | Http Explained | Request-Response Cycle
Сучасні браузери використовують версію 1.1. Далі йдуть заголовки в форматі "Ім`я: значення".
HTTP-кешування
Суть в тому, що кешування забезпечує зберігання HTML-сторінок, інших файлів в кеші (місце в операційній пам`яті, на жорсткому диску комп`ютера). Це потрібно для того щоб прискорити до них повторний доступ і заощадити трафік.
Кеш має браузер клієнта, проміжний шлюз і проксі-сервер. Перед тим як відправити повідомлення по URL, браузер перевірить наявність об`єкта в кеші. Якщо об`єкта немає, запит передається наступного сервера, де перевіряється кешування http заголовків на сервері nginx. Шлюзи і проксі використовуються різними користувачами, тому кеш є розділяються.
HTTP-кешування здатне не тільки істотно прискорити роботу сайту, але і надати стару версію сторінки. За допомогою кешування сайту відбувається відправка заголовків на відгук. При цьому не може бути кешуватися інформація, запитана за протоколом HTTPS.
Опис http заголовків
Одними з найголовніших механізмів кеша вважаються http заголовки expires. Ці заголовки повідомляють про термін придатності наданої у відгуку інформації. У них вказується час і дата, коли кеш буде вважатися застарілим. Наприклад, такий заголовок виглядає наступним чином: Expires: Wen, 30 Nov 2016 13:45:00 GMT. Дана структура використовується майже всюди, в тому числі для кешування сторінок і картинок. Якщо користувач вибере стару дату, відомості не будуть кешуватися.
Заголовки http proxy відносяться до категорії header link. Вони не кешуються за замовчуванням. Щоб кеш працював правильно, кожен URL повинен відповідати одному варіанту вмісту. Якщо сторінка діє на двох мовах, кожна версія повинна мати власний URL. Тема vary повідомляє кешу назви заголовків запиту. Наприклад, якщо відображення запиту залежить від браузера, сервера необхідно також відправляти заголовок. Таким чином, в кеші зберігаються різні варіанти запитів і типи документів. TTP заголовок accept необхідний для того щоб складати списки допустимих форматів використовуваного ресурсу, з ним досить легко працювати, так як він відсіває непотрібні.
Всього існує чотири групи заголовків, які передають службову інформацію. Це основні заголовки - вони містяться в будь-якому повідомленні сервера і клієнта, запиту і відповіді, а також сутності. Останні описують зміст будь-якого повідомлення від клієнта і сервера.
HTTP заголовок authorization вважається додатковим. Коли web-сторінка запитує у клієнта авторизацію, браузер відображає спеціальне вікно з полями для введення логіна і пароля. Після того як користувач введе свої дані, браузер передає запит http. Він містить заголовок «авторизація».
Як побачити заголовки?
Щоб побачити http заголовок, необхідно встановити плагіни для браузера, наприклад, firefox:
Відео: Cookies, Header Manipulation, and Session Hijacking - CompTIA Security + SY0-401: 3.5
- Firebug. Переглянути заголовки можна у вкладці net (мережа), де вибрати all (всі). Цей плагін має функції, які будуть корисні веб-розробнику.
- Live http headers. Простий плагін, призначений для переглядів http заголовків. З його допомогою вручну можна згенерувати запит.
- Користувачі Ghrome легко побачать заголовки, якщо натиснуть кнопку налаштувань, виберуть інструменти розробника (net works).
Коли плагіни будуть встановлені, запустіть їх і поновіть сторінку браузера.
методи запитів
Методи, які використовуються в HTTP, мають подібності з інструкціями, які передаються у вигляді повідомлення сервера. Це спеціальне слово англійською мовою.
- Метод GET. Його використовують для запиту інформації з ресурсу. Саме з нього починаються всі дії.
- POST. З його допомогою відбувається відправка даних. Наприклад, повідомлення в соціальній мережі або коментар, браузер поміщає в тіло POST-запиту і відправляє серверу.
- HEAD. Метод має подібності з першим, але виконує легку функцію. Він повинен вимагати лише мета-дані, виключаючи з відповіді повідомлення. Методом користуються, якщо хочуть отримати інформацію про файлах без скачування. Його використовують, якщо хочуть перевірити працездатність посилань на сервері.
- PUT. Завантажує дані на URL. Передає великі обсяги даних.
- OPTIONS. Працює з конфігураціями сервера.
- URI. Ідентифікує ресурс і містить в собі URL.
Структура http відповіді
Сервер відповідає на запити клієнта довгими повідомленнями. Відповідь складається з декількох рядків, в яких вказується версія протоколу, код статусу сервера (200). Він говорить про те, що змінилося на сервері за час опрацювання надходження запиту:
Відео: HTTP tutorial - HTTP Methods, HTTP Header Fields, HTTP Status Codes, HTTP Live Example
- Статус «двісті» вказує на успішну обробку інформації. Після цього сервер відправляє документ клієнту. Решта рядки запиту вказують на іншу інформацію про відомості, які надсилаються.
- Якщо файл не знайдений або не існує, сервер посилає клієнтові код 404, його ще називають помилкою.
- Код 206 вказує на часткове скачування файлу, який можна відновити через час.
- Код 401 свідчить про відмову в авторизації. Це означає, що запитувана сторінка захищена паролем, який слід ввести для підтвердження входу.
- Про забороненому доступі, каже код 403. Заборони на перегляди, скачування файлів або відео - поширений відповідь в Інтернеті.
- Існують також інші версії кодів: тимчасове переміщення запитуваної файлу, внутрішня помилка сервера, остаточне переміщення. У цьому випадку, користувач буде перенаправлений. Якщо з`явився код 500, це означає, що в роботі сервера з`явилися збої.
URL - що це?
URL - це серце веб-спілкування між клієнтом і сервером. Запит зазвичай відправляється через URL - єдиний покажчик ресурсів. Структура запиту url дуже проста. Вона складається з кількох елементів: протокол http (заголовок), hoot (адреса сайту), port, resourte path і query.
Протокол доступний також для безпечного з`єднання https і обміну інформацією. URL-адреса містить інформацію про розміщення конкретного сайту в Інтернеті. Адреса включає в себе ім`я домену, шлях до сторінки, а також її назву.
Основний недолік роботи з URL - це незручне взаємодія з латинським алфавітом, а також цифрами та символами. В SEO оптимізації адреса url відіграє не останню роль.
Корисні рекомендації
Активним користувачам комп`ютерів і розробникам не завадить ознайомитися з деякими професійними рекомендаціями, які дають фахівці в цій області:
- Позначайте терміни придатності файлів і документів, з урахуванням оновлень. Статистична інформація вказується в великих значеннях max-age.
- Окремий документ повинен бути доступний лише по одному URL.
- Якщо оновлюєте файл, який буде скачиваться користувачем, змініть його ім`я і посилання на нього. Це гарантує скачування нового, а не застарілого документа.
- Заголовки Last-Modified повинні відповідати справжньою датою останніх змін змісту. Не слід пересохранять сторінки і документи, якщо не будете їх міняти.
- Використовуйте POST-запити лише там, де це потрібно. Зведіть до мінімуму роботу з SSL.
- Заголовки перед відправкою сервером слід перевіряти плагіном REDbot.