tools
CORS, cookies и сессии — простыми словами
Около 7 мин чтения
Вы вошли в интернет-магазин, открыли другую страницу — а сайт снова просит пароль. Или нажали «Сохранить», но вместо результата увидели ошибку. Чтобы разобраться, полезно различать три вещи: cookie, сессию и CORS.
Для этой статьи не нужно писать код или устанавливать программы. Достаточно браузера и тестового аккаунта на вашем рабочем или учебном сайте.
Cookie: маленькая запись в браузере
Cookie («куки») — небольшая запись, которую сайт сохраняет в браузере. В ней может быть настройка языка или идентификатор, по которому сервер узнаёт вошедшего пользователя.
Представьте гардероб: вы сдаёте куртку и получаете номерок. В распространённой схеме входа cookie похожа на номерок. Она не обязана содержать имя, пароль или все данные пользователя.
Браузер отправляет подходящие cookie вместе с запросами к сайту. Поэтому при каждом переходе вам не приходится снова вводить пароль.
Не все сайты используют одинаковую схему входа: иногда данные для входа хранятся и передаются иначе.
Сессия: как сервер помнит о входе
Сессия — состояние вашего входа: сервер понимает, кто вы и можно ли продолжать работу без повторного пароля. В нашей аналогии cookie — номерок у вас, а сессия — запись в гардеробе, какой куртке он соответствует.
Cookie и сессия — не одно и то же. Cookie может остаться в браузере, хотя сервер уже завершил сессию. И наоборот: очистка cookie сама по себе не доказывает, что сервер перестал принимать старый номерок.