Шаг 55.
Основы JavaScript.
Работа с cookie (общие сведения)

    На этом шаге мы рассмотрим общие сведения о cookie.

    Для хранения небольших объемов информации на диске компьютера пользователя в браузере предусмотрен так называемый механизм cookie. Обычно он используется для хранения имени пользователя и пароля, который вводится в поле формы защищенного веб-сайта, а также информации о предыдущем посещении сайта. Например, можно сохранить на диске дату последнего посещения сайта данным пользователем. При загрузке сайта эта дата сравнивается с некоторой датой, установленной автором сайта в качестве даты обновления. Если вторая (авторская) дата более поздняя, чем первая, то на веб-странице появляется соответствующая отметка. Разумеется, сравнение дат и вывод на страницу отметки производится с помощью сценария. А вот еще один пример: сценарий проверяет, а посетил ли некто сайт. Если это произошло, то на страницу выводится персональное сообщение.

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

    Записи cookie браузер Internet Explorer сохраняет в отдельных текстовых файлах, расположенных в папке Cookies. Имя такого файла образуется на основе имени пользователя и домена того сервера, на котором создавался cookie-файл. Netscape Navigator 4 для Windows создает просто один файл cookie.txt. Вообще говоря, структура данных в cookie-файлах для различных браузеров не столь существенна, поскольку, во-первых, не рекомендуется открывать и изменять эти файлы в текстовых редакторах, а во-вторых, браузеры Internet Explorer и Netscape Navigator используют одинаковый синтаксис чтения и записи cookie-данных, основанный на использовании свойства document.cookie.

    Итак, данные в cookie-файлах организованы в виде записей. Каждую такую запись можно представить себе в виде строки, содержащей следующие элементы:

    Зависимость записей от домена обеспечивает безопасность хранения так называемых невосстанавливаемых паролей (пар вида имя_пользователя-пароль), поскольку запись, созданную сервером одного домена, не может прочитать сервер с другим доменом.

    Срок хранения используется браузером для автоматического удаления просроченных записей, чтобы предотвратить чрезмерное разрастание объема cookie-файлов. Впрочем, Internet Explorer и Netscape Navigator ограничили объем cookie-файлов 20 записями на каждый домен.

    Для записи данных в cookie-файл с помощью JavaScript используется выражение присвоения строки, содержащей cookie-данные, свойству document.cookie. При этом важно соблюдать формат строки:

    document.cookie = "соокiеName=данные 
      [; expiгеs=строка_времени_СМТ] 
      [; path=nyть] 
      [; domain=домен] 
      [; secure]"

    Здесь квадратные скобки указывают, что заключенное в них содержимое не является обязательным (может быть опущено).

    Рассмотрим элементы cookie-строки.

    На следующем шаге мы рассмотрим чтение и запись данных cookie.




Предыдущий шаг Содержание Следующий шаг