Безопасность веба

парсер Cookieразные правила для запроса и ответа

Вставьте заголовок Cookie или строки Set-Cookie, по одному ответному полю на строку; в режиме сборки создаётся одно поле.

парсер Cookie

Ввод заголовка

Текст остаётся в этом браузере: запросы не отправляются, cookie не изменяются.

Разбор или созданный заголовок

Введите заголовок или имя cookie.

Параметры

Введите заголовок или имя cookie.

Если сессия была установлена, но пропала из следующего запроса, парсер Cookie поможет сравнить фактическое содержимое двух заголовков. Запрос Cookie передаёт пары имени и значения, а ответ Set-Cookie задаёт атрибуты одного cookie.

Разбор Set-Cookie здесь не добавляет выдуманные значения по умолчанию. Парсер Cookie различает отсутствие SameSite и явно заданное Lax, сохраняя неизвестные атрибуты для диагностики.

Зачем нужен парсер Cookie

Направление заголовка и основание срока видны отдельно.

Не додумывать атрибуты запроса

Парсер Cookie отделяет несколько пар в запросе от атрибутов ответа. Одинокое name=value неоднозначно, поэтому тип можно указать вручную. Domain и HttpOnly из запроса не восстанавливаются.

Запрос Cookie с двумя парами имени и значения рядом с ответом Set-Cookie и таблицей атрибутов.

Показать приоритет срока

Когда присутствуют Max-Age и Expires, оценка UTC использует Max-Age, а предупреждение объясняет приоритет. Парсер Cookie не утверждает, что любой браузер примет или сохранит cookie.

Max-Age выделен перед Expires и ведёт к одному расчётному времени истечения.

Читать заголовок без домыслов о настройках браузера

01

Определить направление

Префиксы Cookie: и Set-Cookie: распознаются автоматически. Строка name=value без префикса неоднозначна: задайте её тип. Несколько Set-Cookie размещайте на разных строках, ведь дата Expires уже содержит запятую.

02

Управлять обновлением

Автоматический запуск ждёт 350 мс после правки. Если выключить его, используйте кнопку или Ctrl/Cmd+Enter. Изменение текста или параметров сразу запрещает копирование старого результата.

03

Проверить основу расчёта

Отчёт различает сессию, Max-Age и Expires. В сборщике по умолчанию выбирается сессия; секунды или местная дата дают только один соответствующий атрибут.

Атрибуты и сборка ответного заголовка

Две грамматики в одном окне

Запрос Cookie может содержать несколько пар name=value. Каждая строка Set-Cookie задаёт один cookie с Domain, Path, SameSite, Secure, HttpOnly и сроком. Неизвестные атрибуты остаются видимыми.

Статические конфликты с номером строки

Отмечаются SameSite=None или Partitioned без Secure и неверные условия для __Host- и __Secure-. Повторные атрибуты, неправильные даты и секунды привязаны к исходной строке; реальный браузер не тестируется.

Один ответный заголовок

Сборщик начинает с Path=/, SameSite=Lax, Secure и HttpOnly. Пустой Domain не выводится. Сессия, Max-Age и Expires выбираются по отдельности; созданный Set-Cookie не записывается в браузер.

Что можно узнать только из текста

Атрибуты ответа неизвестны из запроса
Заголовок Cookie не содержит Domain, Path, HttpOnly, Secure и SameSite. Парсер Cookie не выдаёт отсутствие за false: чтобы увидеть эти свойства, нужен исходный ответ Set-Cookie.
Один ответный cookie на строку
Каждый Set-Cookie устанавливает один cookie. Нельзя соединять строки запятыми: запятая уже есть в дате Expires. Ошибочная строка получает позицию, корректные соседние строки остаются. Форматы JSON и Netscape не преобразуются.
Не результат испытания браузера
Срок оценивается по часам устройства. Исходный хост, HTTPS, серверный Date и политика браузера неизвестны. Страница не запрашивает URL, не читает HttpOnly, не пишет document.cookie и не создаёт ссылку с сеансовым значением.

Вопросы о парсере Cookie

Чем отличаются заголовки Cookie и Set-Cookie?

Cookie отправляется в запросе и может содержать несколько пар имени и значения. Set-Cookie приходит в ответе: одна строка устанавливает один cookie и его атрибуты. Неоднозначную строку можно переключить вручную.

Зачем SameSite=None требует Secure?

SameSite=None допускает межсайтовую отправку и требует Secure. Инструмент сообщает о конфликте в тексте, но фактический HTTPS-контекст нужно проверить в исходном ответе.

Что важнее: Max-Age или Expires?

Действительный Max-Age имеет приоритет над Expires. Оценка UTC получается прибавлением секунд к часам устройства; браузер может поправить разницу времени по серверному заголовку Date.

Может ли JavaScript прочитать cookie с HttpOnly?

Cookie с HttpOnly обычно нельзя прочесть через document.cookie, но он может отправляться с подходящими HTTP-запросами. Здесь анализируется только вставленный текст, а не хранилище браузера.

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

Partitioned запрашивает хранение с разделением по сайту верхнего уровня. Анализатор сохраняет атрибут и сообщает, если нет Secure. Генератор его пока не создаёт и не проверяет поддержку браузера.

Заголовок разобран неверно?

Проверьте следующий заголовок через парсер Cookie

Вставьте захваченный текст, проверьте направление и конфликты, затем скопируйте актуальный отчёт или один созданный Set-Cookie.

Анализ и сборка выполняются в браузере.