Перейти к содержанию

HTTP (HyperText Transfer Protocol)

HTTP — гипертекстовый протокол передачи данных.

Это протокол прикладного уровня, используемый для передачи данных в интернете. Основная модель взаимодействия — клиент-сервер: клиент (например, браузер) отправляет HTTP-запрос, сервер отвечает HTTP-ответом.

Основные характеристики HTTP

  • Протокол без сохранения состояния (stateless)
  • Основан на запросах и ответах
  • Использует TCP-порт 80 (HTTP) или 443 (HTTPS)

Методы HTTP

Метод Назначение
GET Получение данных
POST Отправка данных на сервер
PUT Замена ресурса
PATCH Частичное обновление ресурса
DELETE Удаление ресурса
HEAD Получение заголовков ответа
OPTIONS Получение поддерживаемых методов

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

HTTP-запрос состоит из:

  1. Стартовой строки запроса
    Формат:
    <Метод> <Путь к ресурсу> <Версия HTTP>
    
    Пример:
    GET /index.html HTTP/1.1
    
  2. Заголовки (headers)
    Передают дополнительную информацию (мета-данные).
    Пример:
    Host: example.com
    
    User-Agent: Mozilla/5.0
    
    Accept: text/html
    
  3. Пустая строка
    Разделяет заголовки и тело запроса (если есть).

  4. Тело запроса (необязательно)
    Используется, например, в POST/PUT-запросах для передачи данных.
    Пример (тело в формате JSON):

    {
      "username": "user1",
      "password": "1234"
    }
    

Пример полного HTTP-запроса (POST)

POST /login HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 47

{
  "username": "user1",
  "password": "1234"
}

Полезные ресурсы

Дополнительные материалы: