Правда ли, что cookie работают только с глаголом GET / POST, но не CONNECT?
PerlDev
5
@PerlDev В rfc2109 я не вижу ничего такого, что говорит о том, что он не должен работать с запросами, отличными от GET / POST, но я подозреваю, что реализации браузера и сервера могут не реализовывать его в этих случаях.
2012 года
5
Обратите внимание, что в соответствии с RFC 2109, если пользовательский агент или браузер отправляет несколько файлов cookie, он помещает их в одно поле, разделенное точками с запятой:Cookie: name1=value1; name2=value2; ...
jotrocken
34
Файлы cookie передаются в виде заголовков HTTP как в запросе (клиент -> сервер), так и в ответе (сервер -> клиент).
Таким образом, в любом запросе все куки отправляются ipso facto?
BKSpurgeon
32
Помимо того, что написано в других ответах, в заголовке ответа Set-Cookie также передаются другие подробности, связанные с путем cookie, максимальным возрастом cookie, независимо от того, защищен он или нет. Например:
Однако не все эти данные передаются обратно на сервер клиентом при выполнении следующего HTTP-запроса.
Вы также можете установить HttpOnlyфлаг в конце вашего cookie, чтобы указать, что ваш cookie является httponly и к нему нельзя разрешать доступ, в сценариях с помощью кода javascript. Это помогает предотвратить атаки, такие как перехват сеансов.
Ответы:
Сервер отправляет следующее в своем заголовке ответа, чтобы установить поле cookie.
Set-Cookie:
имя=
значениеЕсли есть набор файлов cookie, браузер отправляет следующее в заголовке запроса.
Cookie:
имя=
значениеСм. Статью HTTP Cookie в Википедии для получения дополнительной информации.
источник
Cookie: name1=value1; name2=value2; ...
Файлы cookie передаются в виде заголовков HTTP как в запросе (клиент -> сервер), так и в ответе (сервер -> клиент).
источник
Помимо того, что написано в других ответах, в заголовке ответа Set-Cookie также передаются другие подробности, связанные с путем cookie, максимальным возрастом cookie, независимо от того, защищен он или нет. Например:
Set-Cookie:
имя=
значение [; expires=
дата ] [; domain=
домен ] [; path=
путь ] [; secure
]Однако не все эти данные передаются обратно на сервер клиентом при выполнении следующего HTTP-запроса.
Вы также можете установить
HttpOnly
флаг в конце вашего cookie, чтобы указать, что ваш cookie является httponly и к нему нельзя разрешать доступ, в сценариях с помощью кода javascript. Это помогает предотвратить атаки, такие как перехват сеансов.Для получения дополнительной информации см. RFC 2109 . Также взгляните на статью Николаса С. Закаса, объясняются файлы cookie HTTP .
источник
создать пример сценария как:
затем сделайте исполняемый файл и выполните так.
откройте браузер и просмотрите URL: http: // localhost: 1236, вы увидите значение Cookie, отправленное браузером
источник