Відповіді:
Сервер надсилає наступне у своєму заголовку відповіді для встановлення поля cookie.
Set-Cookie:
значення імені=
Якщо набір файлів cookie є, браузер надсилає наступне у своєму заголовку запиту.
Cookie:
значення імені=
Додаткову інформацію див. У статті Wiki Cookie у Вікіпедії.
Файли cookie передаються як заголовки HTTP, як у запиті (клієнт -> сервер), так і у відповіді (сервер -> клієнт).
Крім того, що написано в інших відповідях, інші деталі, пов’язані з трактом файлу cookie, максимальним віком файлу cookie, захищеним він чи не, також передаються у заголовку відповіді Set-Cookie. Наприклад:
Set-Cookie:
=
значення імені [ ; expires=
дата ] [ ; domain=
домен ] [ ; path=
шлях ] [ ; secure
]
Однак не всі ці дані клієнт передає назад на сервер під час наступного HTTP-запиту.
Ви також можете встановити HttpOnly
прапор в кінці файлу cookie, щоб вказати, що ваш файл cookie є httpsly та не повинен бути доступний, у скриптах за допомогою коду JavaScript. Це допомагає запобігти атакам, таким як викрадення сеансу.
Для отримання додаткової інформації див. RFC 2109 . Подивіться також статтю Ніколаса Закаса, пояснили файли cookie HTTP .
створити приклад сценарію в якості resp:
#!/bin/bash
http_code=200
mime=text/html
echo -e "HTTP/1.1 $http_code OK\r"
echo "Content-type: $mime"
echo
echo "Set-Cookie: name=F"
потім зробіть виконуваний файл і виконати так.
./resp | nc -l -p 12346
відкрити браузер і переглянути URL-адресу: http: // localhost: 1236 ви побачите значення Cookie, яке надсилає браузер
[aaa @ bbbbbbbb] $ ./resp | nc -l -p 12346 GET / HTTP / 1.1 Ведучий: xxx.xxx.xxx.xxx:12346 З'єднання: продовжуйте жити Кеш-контроль: max-age = 0 Прийняти: text / html, application / xhtml + xml, application / xml; q = 0.9, image / webp, * / *; q = 0.8 Оновлення-небезпечні запити: 1 Користувач-агент: Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, як і Gecko) Chrome / 49.0.2623.112 Safari / 537.36 Accept-Encoding: gzip, deflate, sdch Мова прийняття: en-US, en; q = 0,8, ru; q = 0,6 Cookie: ім'я = F