Введение в понятие cookie-файлы
Для начала рассмотрим следующие вопросы: что такое cookies, как они работают, как сохраняются на жестком диске компьютера, и как можно изменить их настройки. Вам будет легко разобраться в тестовых примерах проверки файлов cookie, если у вас есть четкое ответы на все эти вопросы.
Итак, cookie – это определенная информация, которая сохраняется на жестком диске пользователя в текстовом документе определенного веб-сервера. Эти данные используются веб-браузерами для получения информации с этого локального устройства.
Традиционно, все файлы cookie содержат персонализированные данные пользователя или информацию, которая используется для обмена данными между различными веб-страницами.
Зачем используются cookie?
Cookie-файлы можно считать своего рода идентификацией пользователя для отслеживания того, где он виртуально перемещался по страницам веб-портала.
Например: если вы пользуетесь доменом http://www.example.com/1.html, то веб-браузер запросит веб-сервер example.com для страницы 1.html. В следующий раз, если вы введете страницу http://www.example.com/2.html, то новый запрос будет отправлен на веб-сервер example.com для отправки страницы 2.html, и веб-сервер не будет знать ничего о том, кому обслуживалась предыдущая страница 1.html.
Но как быть, если клиенту нужна информация предыдущего общения с веб-сервером? Вот здесь как раз и нужны cookie-файлы. Они являются соединителем между пользователем и веб-сервером.
Как функционируют cookie-файлы?
Протокол HTTP, применяемый для обмена информационными файлами, используется для поддержки файлов cookie.
Есть два типа HTTP протоколов:
- HTTP без запоминания состояния (англ. stateless);
- HTTP с запоминанием информации текущего состояния (англ. stateful).
Первый не хранит ни одной записи в истории посещений веб-страниц, а вот второй наоборот сохраняет некоторую историю предыдущих взаимодействий веб-браузера и веб-сервера, и этот протокол используется файлами cookie для поддержания взаимодействия с клиентом.
Всякий раз, когда пользователь посещает сайт или страницу, использующую cookie, небольшой код внутри этой HTML-страницы (обычно это вызов языковому скрипту для написания cookie, например, JAVAScript, PHP) записывает текстовый файл на компьютер пользователя под названием cookie.
Пример программного кода, который используется для написания cookie-файлов: Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME. Он может быть размещен на любой HTML-странице, и пригодится многим компаниям по обеспечению качества.
Когда пользователь посещает ту же страницу или домен позже, этот cookie считывается с диска и используется для идентификации второго посещения этого же пользователя на этом домене. Время истечения срока действия устанавливается во время записи cookie-файла и определяется приложением, которое будет использовать cookie-файл.
Традиционно, два вида cookie-файлов записываются на локальный ПК пользователя:
- Сеансовые (англ. Session Cookies) – файл активен до тех пор, пока работает браузер, непосредственно вызвавший файл cookie. При закрытии браузера, подобные cookies сессии безвозвратно удаляются.
- Постоянные (англ. Persistent Cookies) – файлы, которые сохраняются на ПК постоянно и могут быть валидными даже после истечения месяца и года.
Как и где сохраняются cookie-файлы?
Когда любое веб-приложение создает cookie-файл, его информация хранится на жестком диске локальной машины. Конечный путь, по которому можно найти такой файл, в первую очередь зависит от применяемого браузера. Разные браузеры хранят cookie по-разному.
Вот несколько примеров:
Internet Explorer: «C:\Users\username\AppData\Roaming\Microsoft\Windows\Cookies».
Windows 8 и Windows 10: «C:\Users\username\AppData\Local\Microsoft\Windows\INetCookies».
Параметр «Users» может быть изменен под любой пользовательский аккаунт, который обладает правами администратора. К слову, путь к cookie-файлам можно быстро обнаружить, если воспользоваться техническими настройками используемого браузера.
В браузере Mozilla Firefox вы даже можете увидеть файлы cookie в настройках самого браузера. Открыть браузер Mozilla, нажать кнопку «Open menu» > «Web Developer».
В браузере Google Chrome вы можете найти файлы cookie, введя «chrome://settings/content/ Cookies» в адресной строке. Доступ к файлам cookie также возможен через консоль браузера (F12 > application > storage > cookies >).
Как сохраняются cookie-файлы?
Приведем пример cookie-файла, написанного rediff.com в браузере Mozilla Firefox. В этом браузере при открытии страницы rediff.com или входе в свой аккаунт Rediffmail на жесткий диск будет записан файл cookie.
Для его просмотра, необходимо кликнуть на кнопку “Show cookies”, затем переходим на сайт Rediff.com с данным списком cookie-файлов.
В предоставленном перечне вы можете обнаружить cookie-файлы, являющиеся информацией Rediff с разными именами.
Как пример:
Site: Rediff.com Cookie name: RMID
Name: RMID (Name of the cookie)
Content: 1d11c8ec44bf49e0… (Encrypted content)
Domain: .rediff.com
Path: / (Any path after the domain name)
Send For: Any type of connection
Expires: Thursday, December 31, 2020, 11:59:59 PM
Приложения, в которых можно использовать cookie-файлы
- Интернет-магазины с корзинами покупок. Файлы cookie используются для обслуживания системы онлайн-заказа.
- Публичные сайты информационной направленности: с помощью cookie-файлов, пользователю будет предоставлен выбор страниц, которые он желает посетить, а какие нет (настройки пользователя сохраняются в файле cookie и пока пользователь находится в сети, эти страницы ему не показываются).
- Отслеживания активности пользователей. Данный параметр очень полезен для аналитической составляющей работы любого сайта (например, владелец сайта может подсчитывать количество уникальных пользователей в день и так далее).
- Пользовательские сессии: cookies могут отслеживать сеансы связи пользователя с определенным доменом, используя идентификатор пользователя и пароль.
Тестовые примеры для тестирования cookie веб-приложений
Первый очевидный пример — это проверка того, правильно ли ваше приложение пишет cookie-файлы на диске. Вы можете использовать приложение Cookie Tester, если у вас нет веб-приложения для тестирования, но вы должны понимать концепцию cookie для тестирования.
Несколько основных примеров тестирования cookie веб-приложений:
- В качестве политики конфиденциальности файлов cookie убедитесь в том, что в ваших конструкторских документах нет личных данных, хранящихся в файле cookie.
- Если у вас нет другого выбора, кроме сохранения конфиденциальных данных в файле cookie, убедитесь, что данные, хранящиеся в файле cookie, хранятся в зашифрованном формате.
- Убедитесь, что на вашем тестируемом сайте нет чрезмерного использования файлов cookie. Поскольку это будет раздражать пользователей, если браузер будет чаще запрашивать файлы cookie, что может привести к потере посещаемости сайта и, в конечном счете, к потере бизнеса.
- Отключите cookie-файлы в настройках вашего браузера. Если вы используете cookie-файлы на вашем сайте, основные функциональные возможности ваших сайтов не будут работать, если отключить cookie-файлы. Затем попробуйте зайти на тестируемый сайт.
- Прием/отправка некоторых файлов cookie. Лучший способ проверить работоспособность сайта — не принимать все cookie-файлы. Если вы пишете 10 cookie-файлов в своем веб-приложении, то в произвольном порядке принимаете некоторые cookie-файлы. Примите 5 и отклоните 5 cookie-файлов.
Для выполнения вышеуказанного теста вы можете настроить параметры браузера на запрос при записи сookie-файла на диск. В этом окне запроса вы можете принять или отклонить cookie-файл. Попробуйте получить доступ к основным функциональным возможностям сайта и посмотреть, не разбиваются ли страницы, или не повреждаются ли данные. - Удалить cookie. Разрешить сайту создавать файлы cookie, а затем закрыть все браузеры и вручную удалить все файлы cookie для тестируемого сайта. Зайдите на веб-страницы и проверьте их поведение.
Заключение
Выше детально расписаны все ключевые аспекты использования cookie-файлов в сфере веб-разработки, а также были предоставлены исчерпывающие тестовые сценарии быстрой и удобной проверки функциональности cookies-файлов при создании определенного программного обеспечения.
Оставить комментарий