Абревіатура HTTP розшифровується як Hyper Text Transfer Protocol - протокол передачі гіпертексту. В першу чергу, протокол є алгоритмом або ж правилом. Таким чином можна зазначити, що HTTP це система правил передачі даних через Інтернет. Все досить просто. Давайте розглянемо це більш детально.
Гіпертекст означає вихідний код HTML сторінок, яка укладає в себе текст, HTML розмітку і гіперпосилання. Тепер ми можемо помітити, що основна мета HTTP це передача вихідного коду веб-сторінок. За фактом, це передача текстових файлів. Крім цього, передача файлів інших типів також можлива.
Як Ви вже знаєте з попередніх лекцій, веб-додатки використовують архітектуру "клієнт-сервер" для своєї роботи. HTTP протокол - це один з протоколів, який використовується для відправки запитів від клієнта до сервера і отримання відповідного відповіді. Давайте почнемо з відправлення запиту сервера.
Кожен запит, відправлений через HTTP протокол, повинен включати наступне:
1. Рядок запиту із зазначеним методом і версією HTTP.
2. Заголовки запитів і також їх значення.
3. Тіло запиту
Почнемо з першого пункту - рядок запиту з зазначеним методом і версією HTTP. Її шаблон має наступний вигляд:
тут
Найбільш поширені значення це GET і POST. Ми розглянемо їх більш детально.
наприклад:
Далі третій пункт. Тіло запиту має включати основну інформацію запиту. Це не обов'язкова частина запиту, особливо у випадку зі значенням GET. Ми порівняємо те, як методи GET і POST використовуються в запитах.
Отже, що ж являють собою методи GET і POST в запитах? Саме значення їх назв визначає те, які функції вони виконують. Якщо Ви хочете отримати щось - використовуйте GET. Якщо Ви хочете, щоб система отримала щось нове від Вас - використовуйте POST. Давайте розглянемо це більш детально.
Методи GET vs POST
Передбачається, що метод GET отримує дані з сервера. Розширені можливості пошуку повинні вказуватися в рядку запиту
Очевидно, є обмеження щодо обсягу даних, включених в параметри. Користувач також може зробити це посилання закладкою і перевірити на наявність нових результатів пошуку за допомогою методу GET.То є цей запит нічого не змінює в системі, він всього-лише виводить дані з зазначеними параметрами.
Передбачається, що метод POST відправляє дані сервера для того, щоб їх опрацювати і внести зміни в систему. Наприклад, створити нове повідомлення в блозі. В даному випадку параметри не включені в рядок запиту і вони розташовані в тілі запиту. Це основні відмінності між методами GET і POST.
Це означає, що при використанні методу POST, обмежень щодо кількості даних немає. Але при цьому користувач не може зробити закладкою запит POST. Якщо ж ми спробуємо зробити його закладкою, збережеться лише URL, але не параметри.
Давайте розглянемо відповідь сервера протоколу HTTP. Відповідь сервера через HTTP протокол включає наступне:
1. HTTP /
2. Заголовки відповіді
3. Тіло відповіді
Тут код стану та опис коду є основною інформацією про те, як запит був оброблений. Найбільш популярні коди стану та опису це:
Частини тіла зазвичай складаються з вихідного коду, запитаного веб-ресурсом.
наприклад:
HTTP / 1.0 200 OK
Server: Apache
Content-Language: uk
Content-Type: text / html; charset = utf-8
Content-Length: 1234