Ответы:
Сервер отправляет следующее в своем заголовке ответа, чтобы установить поле cookie.
Set-Cookie:
имя =
значение
Если есть набор файлов cookie, браузер отправляет следующее в заголовке запроса.
Cookie:
имя =
значение
См. Статью HTTP Cookie в Википедии для получения дополнительной информации.
Файлы cookie передаются в виде заголовков HTTP как в запросе (клиент -> сервер), так и в ответе (сервер -> клиент).
Помимо того, что написано в других ответах, в заголовке ответа Set-Cookie также передаются другие подробности, связанные с путем cookie, максимальным возрастом cookie, независимо от того, защищен он или нет. Например:
Set-Cookie:
имя =
значение [ ; expires=
дата ] [ ; domain=
домен ] [ ; path=
путь ] [ ; secure
]
Однако не все эти данные передаются обратно на сервер клиентом при выполнении следующего HTTP-запроса.
Вы также можете установить HttpOnly
флаг в конце вашего cookie, чтобы указать, что ваш cookie является httponly и к нему нельзя разрешать доступ, в сценариях с помощью кода javascript. Это помогает предотвратить атаки, такие как перехват сеансов.
Для получения дополнительной информации см. RFC 2109 . Также взгляните на статью Николаса С. Закаса, объясняются файлы cookie HTTP .
создать пример сценария как:
#!/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 Подключение: keep-alive Cache-Control: max-age = 0 Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, изображение / 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 Accept-Language: en-US, en; q = 0,8, ru; q = 0,6 Cookie: имя = F