С понятиями кэш, куки и сессия в браузере должен ознакомится каждый QA-инженер, который предоставляет услуги по тестированию веб-продуктов.
Очень часто, при «столкновении» с данными терминами, возникает много вопросов.
Чтобы максимально раскрыть каждое из данных понятий, узнать их области применения и алгоритм использования (исходя из применяемого браузера), рассмотрим каждое более детально.
Куки
Сookies (куки) – определенное количество информации, создающееся сервером после того, как пользователь посетил страницу, и которое остается на ПК пользователя как отдельный текстовый документ.
В основном, куки хранят идентификационную информацию, данные о пользователе, о характеристиках и настройках, которые были выбраны в процессе взаимодействия со страницей, а также другие подобные данные, относящиеся к служебным.
Если куки поддерживаются браузером, то при каждом следующем запросе весь объем информации транспортируется от пользователя на сервер. Какая польза для сайта от этих данных?
Как правило, идентификационная информация используется сервером, чтобы:
- Собирать и анализировать статистику;
- Отслеживать прохождение сессии (о значении данного термина поговорим дальше в статье);
- Авторизировать посетителя (при другом раскладе, каждый раз требовалось бы писать логин и пароль);
- Персонализировать выбранные клиентом настройки при всех запросах (к примеру, язык продукта или определенные товары в корзине).
Если рассматривать куки с технической точки зрения, то это текстовые документы небольших размеров. Максимальный объем куки-файла – 4096 байт.
Что находится в документе куки:
- Его название;
- Значение (то, что транспортируется серверу и подлежит обработке при запросе);
- Домен, принадлежащий куки, и который его получает;
- URL-путь в пространстве этого домена, где конкретный куки действителен для него;
- Срок жизни. Куки хранятся только определенный отрезок времени, который настраивается отдельно для каждого. Возможно, это будет определенный день, время или значение сессии, в случае, когда куки есть до окончания настоящей сессии;
- HTTP (присваивается только тогда, когда куки будет применяться лишь HTTP);
- Безопасность (подразумевает передачу куки только через защищенный HTTPS);
- Объем документов куки в байтах.
Сессия
Веб-сервера имеют одну важную особенность, которая кроется в том, что они не могут распознавать откуда каждый раз поступают запросы (с одного и того же браузера или с разных).
Это происходит потому, что HTTP протокол «не разрешает» прослеживать ход этих состояний и, соответственно, поддерживать беспрерывную связь с посетителем.
Каждый запрос проходит обработку отдельно, без малейшей связи с прошедшими.
Данную проблему позволяет решить сессия браузера (сеанс) – механизм отслеживания запросов от одного браузера, способный сберечь некоторые переменные в процессе переходов между страницами веб-продукта.
Со стартом сессии, на сервере создается документ, где находятся данные о клиенте, его манипуляциях и событиях, произошедших в пределах одной сессии. Это может быть просматривание сайта, действия с составляющими деталями страниц, произведение транзакций и прочее.
Пока сеанс длится, новый начаться не может.
Предыдущая сессия закончится только в том случае, когда будет реализовано одно из условий (зависит от настроек):
- Закрытие браузера;
- Пройдет конкретный отрезок времени, в процессе которого пользователь не произвел никакого действия;
- В назначенное время суток (например, вечер или ночь).
Кэш
Всем прекрасно известно, что для высокого качества работы в интернете, сайт должен быстро загружаться.
Увеличенное время ожидания отклика страницы может привести к тому, что посетитель просто закроет ее и перейдет на другую, более оптимизированную. Поэтому, в интересах разработчика, не допускать подобного.
Вся сложность ситуации в том, что сервер, при каждом обновлении страницы, транспортирует браузеру достаточно большой объем информации. Естественно, это негативно влияет на скорость работы сайта. Для решения этой проблемы и оптимизации веб-программ, создали кэш.
Например, ваша сеть интернет работает медленнее, нежели компьютер. С помощью кэша, браузер локально сохраняет определенную часть данных на ПК клиента.
Как результат, в повторной загрузке идентичной информации нет необходимости, требуемые данные просто грузятся из памяти ПК без подключения к сети.
Естественно, загрузка страницы, при таком раскладе, происходит значительно быстрее.
Что, в основном, хранится в кэше? Обычно страницы одного сайта имеют однотипный дизайн, в следствие этому, есть элементы сайта, которые дублируются на разных страницах.
Чтобы при каждом переходе не передавать одинаковый снимок, он локально загружается в файлы кэша и при обновлениях уже грузится с жесткого диска пользователя, а не через сервер.
Кроме логотипов, кэшироваться могут текстовые сообщения, видео-файлы, звук.
Кэш браузера ограничен в размере. Его максимальный объем настраивается. Когда хранилище кэша заполнено, то те данные, которые дольше всего не были в использовании, удаляются, тем самым освобождая пространство новым частям.
После того, как мы разграничили термины «сессия», «кэш» и «куки», перейдем к непосредственному процессу их применения.
В целом, обычному пользователю вполне хватить умений включить или выключить, отредактировать или удалить куки, произвести очистку кэша и суметь обнаружить данные документы на своем ПК.
Как выполнить очистку кэша на компьютере?
В первую очередь, нужно учитывать, какой браузер используется для работы.
Важно помнить, что кэш одного и того же веб-продукта, у разных браузеров, находится в различных файлах директории C:\Users\Admin\AppData\Local\.
Если такую папку вы не можете найти на своем ПК, следует просто в параметрах активировать демонстрацию скрытых файлов.
Каждый браузер в этой директории формирует свою файловую папку, где и находится кэш.
Представим наиболее распространенные браузеры:
- Internet Explorer
— C:\Users\Admin\AppData\Local\Microsoft\Windows\INetCache\
— C:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\ - Google Chrome
C:\Users\Admin\AppData\Local\Google\Chrome\User Data\Default\Cache
C:\Users\Admin\AppData\Local\Google\Chrome\User Data\Profile 1\Cache - Safari
~/Library/Caches/com.apple.Safari/ - Mozilla Firefox
C:\Users\Admin\AppData\Local\Mozilla\Firefox\Profiles\zxcvb5678.default\cache2\entries - Opera
C:\Users\Admin\AppData\Local\Opera Software\Opera Stable\Cache.
Обнулить всю информацию из сайта, очистить кэш и куки можно непосредственно в браузере.
Для этого создана специальная функция, активацию которую можно выполнить в настройках.
Алгоритм у каждого из браузеров отличается, поэтому, рассмотрим подробнее процесс очистки кэша в них:
- Safari. «Разработка» – «Очистить кэш» (в настройках приложения меню разработчика должно быть активно);
- Google Chrome. «Настройки» – «Дополнительно» – «Очистить историю» – «Изображения и другие файлы, сохраненные в кеше» – «Удалить данные»;
- Opera. «Настройки» – «Дополнительно» – «Конфиденциальность и безопасность» – «Очистить историю посещений» – «Удалить данные»;
- Internet Explorer. «Настройки» – «Безопасность» – «Удалить журнал браузера» – «Временные файлы и куки» – «Удалить»;
- Mozilla Firefox. «Настройки» – «Приватность и защита» – «Куки и данные сайтов» – «Удалить данные» – «Удалить».
Также, существует еще один способ почистить кэш браузера, не используя его настройки. Это горячие клавиши: Ctrl+Shift+Del – для большого количества браузеров и –⌥(Option)+⌘(Command)+E для Safari на Mac.
Как найти куки на разных браузерах?
К примеру, чтобы обнаружить куки в Chrome, следует выполнить такой алгоритм действий:
- Переходим в меню браузера;
- Выбираем пункт «Настройки»;
- Пункт «Дополнительные»;
- «Настройки сайта»;
- После чего откроется пункт «Файлы куки», где можно выполнять их настройку, а именно:
- Блокировать куки;
- Активировать (блокировать) функцию сохранения куки с помощью слайдера;
- Просматривать все сохраненные данные каждого отдельного документа;
- Активировать функцию удаления куки по закрытию веб-браузера;
- Удалять куки для определенных или всех сайтов;
- Смотреть весь перечень сохраненных файлов куки, находить нужные куки в перечне.
Если говорить об Internet Explorer 11, то там путь выполнения немного другой: «Меню браузера» — «Свойства браузера» — «Конфиденциальность» — Сайты/Дополнительно. Здесь возможна работа с файлами куки для выбранных веб-сайтов.
Для просмотра значения сохраненных настроек определенного сайта, необходимо прибегнуть к средствам разработчика (клавиша F12). В пункте «Сеть» поданы списки запросов, а в «Файлы куки» — их данные.
Создание веб-продукта – очень динамичный процесс. Иногда, редактирование сайта осуществляется по несколько раз за день.
Любому тестировщику нельзя забывать о том, что перед выполнением непосредственной проверки продукта необходимо произвести очистку кэша.
Если не выполнить данное условие, большая вероятность того, что страница будет грузится из кэша и внедренных обновлений просто не будет видно.
Процедура сеанса подразумевает собой идентификацию браузера и обработку запросов в течение одного сеанса.
При этом, используются переменные из прошлых запросов. В основном, все данные о сессии находятся на сервере и скрыты от пользователя.
Когда QA-инженер знает сроки окончания сессии и может предвидеть поведение сайта при ее завершении, он легко напишет несколько сценариев для тестирования.
Очень часто, чтобы сайт работал корректно, нужно включить куки. При таком раскладе, проверку работы продукта можно осуществлять двумя способами: с включенными и отключенными куки.
Третий вариант проверки – редактирование куки вручную, с использованием как валидной, так и невалидной информации.
В файлах куки хранятся конфиденциальные данные пользователя для авторизации.
Применив определенный инструментарий для изменения этих данных, тестировщик может узнать, можно ли открыть доступ к аккаунту другого посетителя, отредактировав куки. Такой вид деятельности относят к тестированию безопасности.
При первом знакомстве с кэшем, сессий браузера и куки, все это кажется сложным и запутанным, но изучив терминологию и опробовав полученные знания в практической деятельности, убеждаешься, что здесь нет ничего тяжелого.
Оставить комментарий