Сеть/HTTP

Cookie Parser

Разобрать заголовок Set-Cookie или строку Cookie/document.cookie на имя, значение, атрибуты и проверку типичных ошибок безопасности.

Заголовок Set-Cookie или строка document.cookie на первый взгляд выглядит как сплошной текст, хотя на самом деле состоит из имени, значения и нескольких атрибутов безопасности (Secure, HttpOnly, SameSite и других). Инструмент разбирает эту строку на составляющие и подсвечивает типичные проблемы конфигурации.

Как пользоваться

Типичные сценарии

Что стоит помнить

HttpOnly-cookie не видна в document.cookie из JavaScript — это намеренная защита от XSS, и для анализа такой cookie нужен именно заголовок Set-Cookie из сетевого запроса.

SameSite=None требует обязательного атрибута Secure — без него современные браузеры такую cookie отклоняют.

Статья об этом инструменте: Cookies: как небольшой кусок текста хранит состояние сессии

Часто задаваемые вопросы

За что на самом деле отвечают атрибуты Secure, HttpOnly и SameSite?

Secure ограничивает куки только HTTPS-соединениями, HttpOnly блокирует доступ из JavaScript (помогая предотвратить кражу через XSS), а SameSite контролирует, отправляется ли куки вместе с межсайтовыми запросами.

Почему строка куки иногда содержит несколько куки, разделённых точкой с запятой?

Заголовок запроса Cookie может содержать несколько пар name=value с одного домена в одной строке, тогда как заголовок ответа Set-Cookie устанавливает одну куки на экземпляр заголовка, каждую со своими атрибутами.

Отправляются ли данные моей куки куда-либо при разборе здесь?

Нет. Разбор происходит полностью в вашем браузере — ничего не загружается на сервер.

Что означает атрибут Partitioned?

Это часть инициативы CHIPS, которая позволяет cookie, установленной во встроенном iframe, иметь отдельную версию для каждого родительского сайта — компромисс между полной блокировкой сторонних cookie и старой моделью сквозного отслеживания.

Сколько cookie можно сохранить для одного домена?

Браузеры обычно ограничивают количество примерно 50-180 cookie на домен и около 4КБ на одну cookie — точные лимиты различаются между браузерами, поэтому не стоит полагаться на хранение больших объёмов данных в cookie.

Статьи: Сеть/HTTP

Разбор URL: из каких частей состоит веб-адрес

Почему в URL есть часть после символа #, которую сервер даже не получает.

Query String против JSON: почему GET-параметры такие ограниченные

Почему передать массив или вложенный объект через query string URL не так просто, как через JSON.

User-Agent: почему эта строка такая запутанная

Почему Chrome, Safari и Edge все содержат в User-Agent слова "Mozilla" и "Safari" одновременно.

Basic Authentication: как простейший способ аутентификации работает в HTTP

Почему Basic Auth обязательно требует HTTPS, ведь Base64 — это не шифрование, а лишь кодирование.

HTTP-заголовки: что скрыто в каждом запросе и ответе

Почему заголовок Content-Type определяет, как браузер интерпретирует тело ответа сервера.

CORS: почему браузер блокирует "обычные" запросы к другому домену

Почему ошибка CORS возникает в браузере, а не на стороне сервера, и кто на самом деле блокирует запрос.

Заголовки email: как проследить путь письма от отправителя до вас

Почему заголовки Received нужно читать снизу вверх, чтобы проследить путь письма.