Sobes.tech
Intern
89
questionbank

Что такое HTTP?

AI答案

sobes.tech AI

Протокол передачи гипертекста. Сетевой протокол прикладного уровня для обмена данными.

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

  • Клиент-серверная архитектура: Клиент (например, браузер) отправляет запрос к серверу, сервер обрабатывает запрос и возвращает ответ.
  • Без сохранения состояния (stateless): Каждый запрос обрабатывается независимо от предыдущих. Состояние сессии поддерживается на более высоких уровнях (например, с помощью cookie).
  • Использует TCP: Транспортным протоколом по умолчанию является TCP, обеспечивающий надежную доставку данных.
  • Порт 80: Стандартный порт для HTTP.
  • Методы запросов (HTTP methods/verbs): Определяют тип действия, которое нужно выполнить над ресурсом.
    • GET: Запрос данных с указанного ресурса.
    • POST: Отправка данных для обработки или создания нового ресурса.
    • PUT: Обновление существующего ресурса или создание нового по указанному URI.
    • DELETE: Удаление указанного ресурса.
    • PATCH: Частичное обновление ресурса.
    • HEAD: Запрос заголовков ответа, аналогично GET, но без тела ответа.
    • OPTIONS: Запрос информации о доступных методах и других опциях связи для целевого ресурса.
  • Коды состояния ответа (Status Codes): Трехзначные числа, указывающие результат запроса.
    • 1xx: Informational (Информационные)
    • 2xx: Success (Успешные) - 200 OK
    • 3xx: Redirection (Перенаправления)
    • 4xx: Client Error (Ошибки клиента) - 404 Not Found
    • 5xx: Server Error (Ошибки сервера) - 500 Internal Server Error

Структура HTTP-сообщения:

Часть Запрос (Request) Ответ (Response)
Стартовая строка Метод URI Версия HTTP (например, GET / HTTP/1.1) Версия HTTP Код состояния Фраза состояния (например, HTTP/1.1 200 OK)
Заголовки Пара "Имя-Значение" (например, Host: example.com) Пара "Имя-Значение" (например, Content-Type: text/html)
Пустая строка Отделяет заголовки от тела. Отделяет заголовки от тела.
Тело Необязательно. Содержит данные для отправки (например, формы). Необязательно. Содержит запрошенные данные (например, HTML-страница).

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

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

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

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Index Page</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Используется для передачи гипермедиа-документов (HTML, изображения, видео) в World Wide Web. HTTPS — защищенная версия HTTP с использованием шифрования (SSL/TLS).