Я пытаюсь установить соединение с API. Когда я вызываю метод для этого API, он отвечает значением cookie, отправляемым через заголовки HTTP.
Будет ли этот заголовок автоматически добавлен к клиенту «мой браузер»? или мне нужно сначала проанализировать запрос и создать cookie, используя setCookie
?
если он не добавляет куки автоматически, есть ли способ сделать это?
Он будет автоматически обрабатываться вашим http-клиентом (вам не нужно устанавливать его вручную).
Сервер должен ответить заголовком Set-Cookie (не cookie), затем клиент сохранит этот cookie и отправит его при следующих запросах.
Установка куки
Файлы cookie устанавливаются с использованием заголовка HTTP Set-Cookie, отправляемого в ответе HTTP. Этот заголовок инструктирует браузер сохранять куки и отправлять его в будущих запросах на сервер (браузер, конечно, будет игнорировать этот заголовок, если он не поддерживает куки или имеет отключенные куки).
Например, браузер отправляет свой первый запрос на домашнюю страницу сайта www.example.org:
GET /index.html HTTP/1.1
Host: www.example.org
...
Сервер отвечает двумя заголовками Set-Cookie:
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
HTTP-ответ сервера содержит содержимое домашней страницы сайта. Но он также инструктирует браузер установить два куки. Первый, «theme», считается cookie «сеанса», так как он не имеет атрибута Expires или Max-Age. Сеансовые куки обычно удаляются браузером, когда браузер закрывается. Второй «sessionToken» содержит атрибут «Expires», который инструктирует браузер удалять cookie в определенную дату и время.
Затем браузер отправляет еще один запрос на посещение страницы spec.html на веб-сайте. Этот запрос содержит заголовок Cookie, который содержит два файла cookie, которые сервер дал указание браузеру установить.
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123
...
Таким образом, сервер знает, что этот запрос связан с предыдущим. Сервер ответит, отправив запрошенную страницу и, возможно, добавив другие файлы cookie, используя заголовок Set-Cookie.
Значение cookie может быть изменено сервером путем включения заголовка Set-Cookie в ответ на запрос страницы. Затем браузер заменяет старое значение новым значением.
Значение cookie может состоять из любого печатаемого символа ASCII (! Через ~, юникод \ u007E) за исключением, и; и исключая пробелы. Имя куки исключает те же символы, что и символ =, поскольку это разделитель между именем и значением. Стандарт cookie RFC 2965 более ограничен, но не реализован браузерами.
Термин «крошка печенья» иногда используется для обозначения пары имя-значение печенья.
Файлы cookie также могут быть установлены с помощью языков сценариев, таких как JavaScript, которые запускаются в браузере. В JavaScript для этой цели используется объект document.cookie. Например, инструкция document.cookie = «температура = 20» создает файл cookie с именем «температура» и значением «20».
Увидеть страница википедии
Да, файл cookie будет добавлен в document.cookie
, если только httponly
Параметр устанавливается при отправке куки.