A cookie - это небольшой фрагмент данных (пара имя-значение), отправляемый с веб-сайта (сторона сервера) и сохраняемый в веб-браузере пользователя, когда пользователь просматривает этот веб-сайт. Файлы cookie были разработаны для предоставления информации о состоянии взаимодействия с пользователем, несмотря на то, что протокол HTTP не имеет состояния. Файлы cookie можно классифицировать в зависимости от их характера.
Типы файлов cookie можно выбирать в зависимости от возможностей, которые вы хотите использовать для файла cookie.
Session cookie
Сеансовый файл cookie, также известный как файл cookie в памяти или временный файл cookie, существует только во временной памяти, пока пользователь перемещается по веб-сайту. (В Java файл cookie сеанса может быть создан с помощью вызова getSession () объекта запроса). Веб-браузеры обычно удаляют сеансовые куки, когда пользователь закрывает браузер. Этот тип файлов cookie может использоваться для хранения данных, связанных с пользователем во время навигации, но в том же сеансе. Пользователь может переходить на веб-сайт назад и вперед без изменения настроек, но в случае закрытия браузера или тайм-аута сеанса все настройки будут потеряны.
Постоянный файл cookie
Постоянный файл cookie переживает пользовательские сеансы, если не установлен максимальный возраст. Чтобы сохранить cookie за пределами сеанса пользователя, вы должны установить Max-Age для этого cookie. Файл cookie должен содержать данные (пара имя-значение), которые будут отправляться обратно на сервер каждый раз, когда пользователь посещает веб-сайт. Это может быть использовано для записи важной части информации, например, о том, как пользователь изначально зашел на этот сайт, о сделанных предпочтениях и т. Д. Постоянные файлы cookie могут использоваться для хранения данных, связанных с пользователем, во время навигации, возможно, при нескольких посещениях в разное время. Постоянные куки хранят данные, относящиеся к пользователю, которые будут использоваться для будущего посещения веб-сайта. Постоянные cookie-файлы могут использоваться в качестве корзины покупок, в которую пользователи могут сохранять элементы, которые они хотят приобрести, когда они перемещаются по сайту или в будущем.
Безопасный файл cookie
Защищенный файл cookie имеет включенный атрибут безопасности и используется только через HTTPS, обеспечивая постоянное шифрование файла cookie при передаче от клиента к серверу. Это снижает вероятность того, что файл cookie подвергнется краже файла cookie при перехвате. В дополнение к этому, все файлы cookie подчиняются политике одного и того же источника браузера.
Как вы спросили о механизме cookie Gmail , да, Gmail использует этот безопасный механизм cookie для хранения имени пользователя и случайного токена в качестве учетных данных для входа в систему. Да, он не сохраняет ваш исходный пароль в безопасном cookie, вместо этого, когда вы успешно вводите правильное имя пользователя и пароль и говорите «да», чтобы запомнить мой пароль, он генерирует случайное число (токен) для вашего имени пользователя в качестве файла cookie для входа в систему, выдаваемого в дополнение к стандартный файл cookie для управления сеансом и сохранение имени пользователя и случайного числа в качестве пароля в своей базе данных. Этот файл cookie не может использоваться другим устройством, так как он использует политику того же источника. Имя пользователя и токен хранятся в виде пары в таблице базы данных. Когда пользователь снова заходит на сайт, cookie-файл входа в систему автоматически отправляется на сервер в объекте запроса из браузера, после чего имя пользователя и токен проверяются сервером в базе данных. Если пара присутствует, пользователь считается аутентифицированным. Использованный токен удаляется из базы данных. Новый токен генерируется и сохраняется в базе данных с именем пользователя и выдается пользователю через новый файл cookie для входа в объект ответа. Если пары нет, cookie для входа в систему игнорируется. Пользователи, введенные с помощью этого механизма, не имеют доступа к определенной защищенной информации или функциям, таким как изменение пароля, просмотр Персональной информации (PII). Для выполнения этих операций пользователь должен сначала успешно отправить обычную форму для входа в систему с именем пользователя и паролем, которая автоматически появится, когда вы попытаетесь выполнить эти запрещенные операции. Поскольку этот подход позволяет пользователю иметь несколько запоминаемых входов в систему из разных браузеров или компьютеров.
HttpOnly cookie
Атрибут HttpOnly поддерживается большинством современных браузеров. В поддерживаемом браузере файл cookie сеанса HttpOnly будет использоваться только при передаче запросов HTTP (или HTTPS), что ограничивает доступ из других не HTTP-API, таких как JavaScript. Это ограничение смягчает, но не устраняет угрозу кражи файлов cookie сеанса через межсайтовый скриптинг (XSS). Эта функция применяется только к cookie-файлам управления сеансом, но не к другим cookie-файлам браузера.
Сторонний cookie
Сторонние файлы cookie - это файлы cookie, принадлежащие доменам, отличным от тех, которые указаны в адресной строке. Он в основном используется для рекламы, отслеживая пользовательские настройки и историю браузера, чтобы судить о его склонности и продавать ему что-то соответственно.