Ответ
Basic-аутентификация — это стандартный механизм в протоколе HTTP, который позволяет клиенту предоставить имя пользователя и пароль при выполнении запроса.
Как это работает
- Клиент объединяет имя пользователя и пароль через двоеточие (
username:password
). - Полученная строка кодируется в Base64.
- Закодированная строка отправляется на сервер в HTTP-заголовке
Authorization
со схемойBasic
.
Пример заголовка:
Authorization: Basic dXNlcjpwYXNz
Здесь dXNlcjpwYXNz
— это строка "user:pass"
в кодировке Base64.
Пример на Python с библиотекой requests
Библиотека requests
позволяет не формировать заголовок вручную, что является лучшей практикой.
import requests
# requests автоматически создаст заголовок Authorization: Basic ...
response = requests.get(
'https://api.example.com/protected',
auth=('user', 'pass')
)
print(response.status_code)
Ключевой недостаток
Основной минус Basic-аутентификации — низкая безопасность. Данные передаются в легко декодируемом виде, так как Base64 — это кодировка, а не шифрование. Поэтому её обязательно нужно использовать только поверх защищенного соединения HTTPS, которое шифрует весь трафик.