0. ВВЕДЕНИЕ, Зачем нам куки и сеансы
Поскольку http -запросы без сохранения состояния (статус входа пользователя не может быть записан и т. Д.), Для сохранения статуса входа пользователя и другой информации необходим определенный механизм. В следующий раз, когда вы получаете доступ к веб -службе, вам не нужно проверять, следует ли войти в систему или другой статус снова. Механизм сеанса и механизм cookie являются решениями на стороне сервера и браузера соответственно.
1. О печенье
1.1 Что такое печенье
Печенье, оригинальное значение печенья. Он используется для хранения информации о статусе пользователя со стороны браузера, а затем вернуть эту часть информации обратно в бэкэнд при доступе к бэкэнд.
Содержание файлов cookie в основном включает в себя: имя, значение, время истечения срока действия, путь и домен
1.2 Категория файлов cookie
Сессионные файлы cookie cookie, которые не устанавливают время истечения, сохраняются в памяти браузера. Если браузер закрыт, печенье будет уничтожено. (часто используется в качестве сеанса)
Нормальные файлы cookie устанавливают время истечения и сохраните его на жестком диске
1.3 Как применить
При инициировании запроса: браузер проверяет все хранимых файлов cookie. Если объем действия, объявленного файлом cookie (определяемым путем и доменом), больше, чем или равна местоположению ресурса, который будет запрашиваться, файл cookie прикрепляется к заголовку запроса HTTP и отправлено на сервер.
При обработке запросов: на стороне сервера информация cookie, содержащаяся в заголовке запроса, обычно проверяется (например, проверка входа в систему). Если проверка проходит, фактическая бизнес -обработка может быть выполнена.
Если проверка терпит неудачу, например, отсутствие поиска файлов cookie или файла cookie неверна (возможно, подделана), прыгните, чтобы войти в систему и после входа в систему, верните информацию cookie в ответе. Браузер сохранит его на жестком диске или памяти на основе возвращенной информации cookie для следующего использования. В
2. о сессии
2.1 Что такое сеанс
Сеанс используется для сохранения информации о состоянии пользователя на стороне сервера.
2.2 Как использовать
Когда браузер инициирует запрос: сервер сначала прочтет информацию о сеансе в заголовке запроса. Если информация о сеансе не найдена или SessionID не может быть получена локально, если это не так, новая сеанс будет сгенерироваться и сохранена на жестком диске Server или Memcache.
Браузер получает ответ: возвращаемый SessionID будет сохранен в локальной памяти для использования в следующем запросе. Одна из реализаций сеанса, сохраненной локально, - сохранить информацию о файлах cookie, но на самом деле, файлы cookie - не единственное решение для сохранения сеансов. Также возможно использовать переписывание URL (добавьте идентификатор сеанса непосредственно за пути URL).
3. Основные различия между файлами cookie и sessiond
1. Существует небольшая разница в месте хранения
Данные cookie хранятся в браузере клиента и не нужно сохранять на стороне сервера. Данные сеанса размещены на сервере, а также есть копия локальной памяти.
2. Различная безопасность
Файлы cookie не так безопасны, как сеанс. Поскольку обычные файлы cookie сохраняются на локальном жестком диске, хакеры могут запускать атаки XS, создавая URL -адреса и другие средства для получения файлов cookie в местном состоянии жесткого диска, а затем украсть конфиденциальную информацию пользователей.
Сеанс отличается. Только когда атака XSS запускается, когда пользователь входит в этот веб -сайт, информация о сеансе может быть получена. После закрытия браузера сеанс будет уничтожен. Безопасность лучше, чем куки.
3. Различия в поддержке междомена
Файлы cookie поддерживают кросс-домен. Например, если атрибут домена установлен на «.biaodianfu.com», то все доменные имена с суффиксом ».biaodianfu.com» могут получить доступ к файлу cookie. В Интернете в настоящее время широко используются куки-междоменные файлы, такие как Google, Baidu, Sina и т. Д. Сеанс действителен только в доменном имени, в котором он находится.
4. Разница в давлении сервера
Сеанс хранится на стороне сервера, и каждый пользователь будет генерировать сеанс. Если есть много пользователей, которые получают доступ одновременно, это генерирует много сеансов и потребляет много памяти. Следовательно, маловероятно, что такие веб -сайты, как Google, Baidu и Sina с чрезвычайно высокими параллельными посещениями, могут отслеживать с помощью сеанса. Учитывая снижение производительности сервера, следует использовать cookie.
5. Различные методы доступа
Строки ASCII можно хранить только в печенье. Если требуются символы Unicode или двоичные данные, сначала требуется кодирование. Участия Java не могут быть доступны непосредственно в файлах cookie. Чтобы хранить немного сложную информацию, использование файлов cookie довольно сложно.
Сеанс может получить доступ к любому типу данных, включая, помимо прочего, строка, целое число, список, карту и т. Д. В сеансе, бобах Java и даже любых классов Java, объектов и т. Д., Это может быть непосредственно храниться, что очень проще в использовании. Вы можете думать о сессии как о классе контейнеров Java.
6. Размер файлов cookie ограничен
Данные, сохраненные одним файлом cookie, не могут превышать 4K, и многие браузеры ограничивают сайт, чтобы сэкономить до 20 файлов cookie.
Приведенное выше простое понимание сеанса и файлов cookie - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.