Что такое протокол HTTP?

«Что такое протокол HTTP?» — вопрос из категории HTTP и веб-протоколы, который задают на 27% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP (HyperText Transfer Protocol) — это протокол прикладного уровня для передачи гипертекстовых документов (например, HTML) по схеме «запрос-ответ». Он является основой взаимодействия между клиентом (например, веб-браузером) и сервером.

Ключевые характеристики:

  • Stateless (без состояния): Каждый запрос обрабатывается независимо, сервер не хранит информацию о предыдущих запросах клиента.
  • Методы запросов: Определяют действие, которое нужно выполнить с ресурсом.
    • GET — получение данных.
    • POST — отправка данных для создания или обработки.
    • PUT — обновление ресурса.
    • DELETE — удаление ресурса.
  • Коды состояния (Status Codes): Сообщают результат обработки запроса.
    • 2xx — Успех (например, 200 OK).
    • 4xx — Ошибка клиента (например, 404 Not Found).
    • 5xx — Ошибка сервера (например, 500 Internal Server Error).

Пример HTTP-запроса и ответа:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>...</html>

HTTPS — это защищённая версия HTTP, где данные шифруются с помощью TLS/SSL для обеспечения конфиденциальности и целостности.