Основи http протоколу - курс основи html від devionity

Абревіатура HTTP розшифровується як Hyper Text Transfer Protocol - протокол передачі гіпертексту. В першу чергу, протокол є алгоритмом або ж правилом. Таким чином можна зазначити, що HTTP це система правил передачі даних через Інтернет. Все досить просто. Давайте розглянемо це більш детально.

Гіпертекст означає вихідний код HTML сторінок, яка укладає в себе текст, HTML розмітку і гіперпосилання. Тепер ми можемо помітити, що основна мета HTTP це передача вихідного коду веб-сторінок. За фактом, це передача текстових файлів. Крім цього, передача файлів інших типів також можлива.

Як Ви вже знаєте з попередніх лекцій, веб-додатки використовують архітектуру "клієнт-сервер" для своєї роботи. HTTP протокол - це один з протоколів, який використовується для відправки запитів від клієнта до сервера і отримання відповідного відповіді. Давайте почнемо з відправлення запиту сервера.

Кожен запит, відправлений через HTTP протокол, повинен включати наступне:

1. Рядок запиту із зазначеним методом і версією HTTP.
2. Заголовки запитів і також їх значення.
3. Тіло запиту

Почнемо з першого пункту - рядок запиту з зазначеним методом і версією HTTP. Її шаблон має наступний вигляд:


тут означає метод передачі даних. Він визначає основні властивості запиту і може бути одним з наступних значень: OPTIONS, GET, HEAD, POST, PUT, PATCH, DELETE, TRACE, CONNECT.

Найбільш поширені значення це GET і POST. Ми розглянемо їх більш детально.

це версія HTTP протоколу. Наприклад, сама новітня це 1.1.
наприклад:

Далі третій пункт. Тіло запиту має включати основну інформацію запиту. Це не обов'язкова частина запиту, особливо у випадку зі значенням 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