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
На первой строке, обязательно method, path, version. Которые передаются в одной строке. В протоколе HTTP конец строки означает набор символов "\r\n" или "%0d%0a"
В самом начале запроса, идет метод. Который указывает, что будет делать запрос. Два самых используемых
GET - для запроса данных (получить html страницу, получить какие либо данные от сервера)
POST - для отправки данных (регистрация, авторизация, создать комментарий)
Также существуют:
OPTIONS - для получения информации о ресурсе, странице. (например какие методы поддерживает)
HEAD - для получения только заголовков (Headers). Без тела ответа.
DELETE - для удаления данных (удалить что-то, комментарий, пользователя)