Назад к вопросам
Intern
93
questionbank
Что такое HTTP?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
HTTP (Hypertext Transfer Protocol) — это протокол прикладного уровня для передачи данных, в частности гипертекста, между клиентом (например, браузером) и сервером.
Основные характеристики:
- Клиент-серверная архитектура: Клиент отправляет запрос, сервер обрабатывает его и возвращает ответ.
- Без сохранения состояния (stateless): Каждый запрос обрабатывается независимо от предыдущих. Состояние между запросами не сохраняется на стороне сервера.
- Использует TCP: Обычно работает поверх протокола TCP для надежной передачи данных.
- Порт по умолчанию: Обычно порт 80 для HTTP и 443 для HTTPS.
Основные методы HTTP (HTTP methods / verbs):
- GET: Запрашивает данные с сервера.
- POST: Отправляет данные на сервер для создания или обработки ресурса.
- PUT: Обновляет существующий ресурс или создает новый, если его нет.
- DELETE: Удаляет ресурс.
- PATCH: Частично обновляет ресурс.
- HEAD: Запрашивает только заголовки ответа, без тела.
- OPTIONS: Запрашивает информацию о методах, которые разрешены для ресурса.
Базовая структура HTTP-сообщения:
- Запрос:
- Стартовая строка (метод, URL, версия протокола)
- Заголовки (header fields)
- Тело сообщения (опционально)
- Ответ:
- Стартовая строка (версия протокола, код статуса, текстовое описание)
- Заголовки
- Тело сообщения (опционально)
Пример HTTP GET запроса:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Пример HTTP 200 OK ответа:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
ETag: "3f80f-1b6-3e1cb03b"
Content-Type: text/html; charset=UTF-8
Content-Length: 131
<!DOCTYPE html>
<html>
<head>
<title>Пример</title>
</head>
<body>
<h1>Привет, мир!</h1>
</body>
</html>
HTTP-коды статуса:
| Диапазон | Описание | Примеры |
|---|---|---|
| 1xx | Информационные | 100 Continue |
| 2xx | Успешные | 200 OK, 201 Created |
| 3xx | Перенаправления | 301 Moved Permanently, 302 Found |
| 4xx | Ошибки клиента | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | Ошибки сервера | 500 Internal Server Error, 503 Service Unavailable |
HTTPS — это расширение HTTP, которое добавляет шифрование с использованием TLS/SSL для обеспечения безопасности передачи данных.