2.1. Коротко об протоколе HTTP

HTTP (HyperText Transfer Protocol) - протокол, изначально разрабатывался для передачи гипертекстовых документов формата HTML, сейчас используется для передачи произвольных данных (не обязательно html).

Основное общение с веб-приложением (включая веб сайты), будет происходить по этому протоколу. Поэтому нам необходимо досконально разобраться с его структурой. У протокола несколько версий (0.9, 1.0, 1.1, 2, 3). 3.0 последняя на момент подготовки материала, 1.1 самая используемая.

Разделяют протокол на 2 части: HTTP запрос (request), и HTTP ответ (response). Запрос отправляет клиент, он генерируется веб браузером. Ответ возвращает web приложение, на определенный запрос.

Ниже представлены примеры http запроса и ответа, протокола версии 1.1

3c7617e5e4fb4cc69bf2df136c21548a.png

aee3559e0cb84d2ba5c85482d24362f8.png

Структура HTTP запросов

176d542759894c3dbaf5873f82a9f5aa.png

На первой строке, обязательно method, path, version. Которые передаются в одной строке. В протоколе HTTP конец строки означает набор символов "\r\n" или "%0d%0a"

Метод

В самом начале запроса, идет метод. Который указывает, что будет делать запрос. Два самых используемых

GET - для запроса данных (получить html страницу, получить какие либо данные от сервера)

POST - для отправки данных (регистрация, авторизация, создать комментарий)

Также существуют:

OPTIONS - для получения информации о ресурсе, странице. (например какие методы поддерживает)

HEAD - для получения только заголовков (Headers). Без тела ответа.

DELETE - для удаления данных (удалить что-то, комментарий, пользователя)