Задать вопрос
copal
@copal
𝄞 ...оооо baby

Когда куки передаются браузером автоматом?

Когда куки передаются браузером автоматически на сервер? То есть при каких запросах со стороны клиента сервер получает куки? Мне сказали что при ajax запросах куки не ставятся.. А когда они тогда ставятся..? Был бы очень признателен, если бы к концу долгого дня мне раскрыли глаза на происходящие.

UPD:

Родные инструменты FF при post запросе с помощью $.ajax на который сервер отвечает -
return response('some text.')->withCookie(cookie('token', 'this is token', 50000000, '/', 'localhost', false, false));

показывают следующие -
8f1ea31143fa463a96a17a1c5a225d1a.png
Если нажать на вкладку куки -
397871e7b5334564a7b3d5001745a495.png
Если нажать на кнопку необработанные заголовки, то там будет следующие -
заголовки запроса:
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/
Content-Length: 69
Origin: http://localhost:8080
Connection: keep-alive

заголовки ответа:
Cache-Control: no-cache
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Thu, 24 Dec 2015 09:13:09 GMT
Server: nginx/1.4.6 (Ubuntu)
Set-Cookie: XDEBUG_SESSION=16162; expires=Thu, 24-Dec-2015 10:13:08 GMT; Max-Age=3600; path=/
token=eyJpdiI6Im1TXC9aMGo3M2lsSzVjTVExUzNxMHdnPT0iLCJ2YWx1ZSI6IkZqNVFxV2FpTnYwNDZvZ2hsM3pvMTZMTnBadTdXdm5xSW8yRHJBYTduZXc9IiwibWFjIjoiOWRkYjIzZjljY2RkOTU0NTBlYWExZThhYmVlYzBkMzE4NzA4ZmExOWQ0NTQ1YmEwYzExNTY1YzM1N2E1MmU5YyJ9; expires=Sat, 17-Jan-2111 14:33:09 GMT; Max-Age=3000000000; path=/; domain=localhost
laravel_session=eyJpdiI6Ild2MHVRSGNtM1Q0UUM4aVk1ZkliZlE9PSIsInZhbHVlIjoic3FKbkVQRjVGN21JYUxMejMzT1dJSkxvT0JVOVFmQ3ZVZFVIT2tsOEJSdjJpbnFudDJPVjhKKytES3dnVG1RQk9PUVoybmRTYVJKT3pvVVRCZjV6Mmc9PSIsIm1hYyI6IjUzM2M0NDEwM2ZkYmZmZmZmODI5MjNkNmJjNWM4NTg2MWM2YzBiOGUwOWIwOWI0YWQ3MzRhNTgzYmZlZDE2YTMifQ%3D%3D; expires=Thu, 24-Dec-2015 11:13:09 GMT; Max-Age=7200; path=/; httponly
Transfer-Encoding: chunked
Vary: Origin
access-control-allow-origin: http://localhost:8080
x-powered-by: PHP/5.5.9-1ubuntu4.14


Затем я перехожу в расширение FF HttpFox и наблюдаю следующую картину -
cc47734e4c0543e89be2e5882a2394aa.png098d0bbd8d524f7aa2a94a993be66589.png
И во вкладке куки, пусто. Вам эта информация о чем-то говорит? Просто я не знаю что делать..

Жутко ошибся, последние две картинки не верны. Они должны быть совершенно пустые.
Из-за особенностей самого плагина, если посмотреть какой-то заголовок, а затем перейти
мой запрос, то показывается предыдущий, который что-то да имеет. То есть этот код от какого-то
браузерного запроса, а мои запросы вообще ничего не показывают.

Вот как мои запросы он показывает -
1dde19dc556a45fdbb6ac1f88c9f7e3a.png

И ещё.. Сервер на котором запущен клиент, это browser-sync.

Ура у меня получилось разобраться.
  • Вопрос задан
  • 2986 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
dimonchik2013
@dimonchik2013
non progredi est regredi
www.telerik.com/fiddler для глубокого понимания нет ничего лучше эксперимента
Ответ написан
Когда браузер отсылает http-запрос к серверу, он автоматически передает его куки, ранее полученные.
Ответ написан
mourr
@mourr
Passionate JS developer
При любом запросе (GET/POST/HEAD итд) сервер может отправить клиенту (в вашем случае браузеру заголовок Set-cookie, в котором будут содержаться куки которые сервер предлагает установить). В случае браузера - он автоматически записывает их, и в последующих запросах (ВСЕХ, включая AJAX) отправляет заголовок Cookie, который содержит куки принятые браузером.
Если же у вас кастомный клиент - например curl, или свой софт для отправки http-запросов, вы должны озаботится сохранением куков самостоятельно, и отправкой их вместе с запросами
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы