Intern
90
questionbank
Что такое HTTP?
Ответ от нейросети
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 OK3xx: Redirection (Перенаправления)4xx: Client Error (Ошибки клиента) -404 Not Found5xx: 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).