Відповіді:
Сервер надсилає наступне у своєму заголовку відповіді для встановлення поля 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