Ответ
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, которое шифрует весь трафик.