Сеть/HTTP

Cookie Parser

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

A Set-Cookie header or a document.cookie string looks like one solid piece of text at first glance, but it's actually made of a name, a value, and several security attributes (Secure, HttpOnly, SameSite, and more). This tool breaks the string down into its parts and flags common configuration issues.

How to use it

Common uses

Things to keep in mind

An HttpOnly cookie is invisible to document.cookie in JavaScript — that's a deliberate XSS defense, and analyzing such a cookie needs the actual Set-Cookie header from a network request instead.

SameSite=None requires the Secure attribute — modern browsers reject such a cookie without it.

Статья об этом инструменте: 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 нужно читать снизу вверх, чтобы проследить путь письма.