К содержимому

Комментарии

Читайте также

Как работает Git? Для начала важно понять, где хранится ?...

Как работает Git?

Для начала важно понять, где хранится наш код. Обычно предполагается, что существует только два места: удалённый сервер (например, GitHub) и локальный компьютер. Однако это не совсем так. Git использует три локальных хранилища на нашем компьютере, а значит, наш код может находиться в четырёх местах:
• Рабочая директория (Working directory): место, где мы редактируем файлы.
• Область подготовки (Staging area): временное место, где файлы находятся перед коммитом.
• Локальный репозиторий (Local repository): содержит закоммиченный код.
• Удалённый репозиторий (Remote repository): сервер, где хранится код (например, GitHub).

Большинство команд Git в основном перемещают файлы между этими четырьмя локациями.

Теперь вопрос к тебе: знаешь ли ты, с каким хранилищем работает команда git tag?
Эта команда позволяет добавлять аннотации к коммиту.

? [club79831840|@Bookflow]

Как работает Git? Для начала важно понять, где хранится ?...

В чём разница между аутентификацией на сессиях и JWT? Мн...

В чём разница между аутентификацией на сессиях и JWT?

Многие разработчики не знают об этом различии, хотя оно критически важно.

Большинство веб-приложений используют один из двух подходов к аутентификации:
сессии (где состояние хранится на сервере) или JWT (где состояние передаётся вместе с клиентом).

1. Аутентификация на основе сессий

Когда пользователь входит в систему, бэкенд генерирует случайный session ID, сохраняет его в кэше или базе данных и устанавливает этот ID как HttpOnly cookie в браузере. При каждом запросе браузер отправляет cookie, сервер находит соответствующую запись и восстанавливает пользовательский контекст.

Такой подход:
• сохраняет чувствительные данные на сервере;
• позволяет мгновенно завершить сессию удалением записи.

Преимущества сессий:
• ? Мгновенная деактивация доступа (“выйти отовсюду”) — одной строкой: просто удалить запись из Redis или SQL.
• ? Секреты никогда не покидают сервер, что снижает риск утечки.
• ? Отлично подходит для малых и средних систем, где кэш — не узкое место.

Но: при горизонтальном масштабировании понадобятся «липкие» сессии или реплицированный кэш, что добавляет задержки и усложняет инфраструктуру.

2. Аутентификация с помощью JWT (JSON Web Token)

После входа сервер подписывает JWT, содержащий:
• заголовок (например, alg, typ),
• полезную нагрузку (claims — sub, role и т.д.),
• цифровую подпись.

JWT — это просто base64-строка (не шифрованная): любой может прочитать данные, но подделать их может только владелец секрета. Сервер не хранит состояние — любой узел может локально проверить подпись и доверять данным.

Преимущества JWT:
• ? Беспамятный (stateless): не требует общего хранилища, подходит для микросервисов и edge-нод.
• ? Удобен для SPA и мобильных приложений, напрямую работающих с бэкендами.
• ? Лёгкий: помещается в заголовок Authorization или cookie.

Минус: JWT нельзя отозвать после выдачи — он действителен до истечения срока, так что «экстренный выход» или блокировка аккаунта требуют дополнительной логики.

Вывод:
• Если главное — возможность немедленно отозвать доступ, выбирай сессии.
• Если нужна масштабируемость без состояния, выбирай JWT, но помни, что токены нельзя «забрать обратно» после их выдачи.

? [club79831840|@Bookflow]

В чём разница между аутентификацией на сессиях и JWT? Мн...
Еще посты

Свежие комментарии