3

Я использую хром, и мне интересно, есть ли расширение или метод, чтобы сообщить, почему cookie не отправляется.Как узнать, почему cookie не отправляется?

У меня есть один запрос я делаю в http://dev/login и это возвращение,

Set-Cookie:DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT 

Однако на посту до http://dev/Base/User/home/ я не посылающего DevId печенье. Мне было бы интересно узнать, почему печенье не отправляется, если кто-то знает. Но, кроме того, мне бы хотелось знать, как я могу понять, почему и как лучше отладить эту проблему в будущем.

Вот некоторые запросы, как и захваченный из инструментов Dev в Chrome

Так вот мой ответ от /login (заголовка Set-Cookie уведомления),

HTTP/1.1 200 OK 
Date: Tue, 16 Jun 2015 19:57:43 GMT 
Server: Apache 
Pragma: no-cache 
Cache-control: no-cache, max-age=0 
Set-Cookie: DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT 
Cache-Control: max-age=0 
Expires: Tue, 16 Jun 2015 19:57:43 GMT 
Keep-Alive: timeout=10, max=10 
Connection: Keep-Alive 
Transfer-Encoding: chunked 
Content-Type: application/json; charset=ISO-8859-1 

А вот мой пост в /Base/User/home/1 (уведомление нет печенья),

POST /Base/User/home/ HTTP/1.1 
Host: dev 
Connection: keep-alive 
Content-Length: 0 
Origin: http://dev 
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/43.0.2357.81 Chrome/43.0.2357.81 Safari/537.36 
Content-type: application/x-www-form-urlencoded; charset=UTF-8 
Accept: text/javascript, text/html, application/xml, text/xml, */* 
X-Prototype-Version: 1.7.2 
X-Requested-With: XMLHttpRequest 
Referer: http://dev/user/1/home 
Accept-Encoding: gzip, deflate 
Accept-Language: en-US,en;q=0.8 
+0

Вы можете проверить, установлен ли файл cookie на вкладке «Ресурсы» - https://i.imgur.com/4W57ztA.png. Если это не так, нам понадобится инструмент для проверки заголовков, которые вы отправляете. –

+0

Я проверил, что файл cookie не был отправлен на вкладке «Сеть» под заголовками почтового запроса. Но cookie не является событием, установленным на вкладке «Ресурсы». –

ответ

2

проблема заключается в следующем:

домен = dev;

Цитируя RFC 2945:

Значение атрибута домена указывает домен , для которого куки. Если явно заданное значение не начинается с точки, пользовательский агент передает ведущую точку.

Так веб-клиент будет посылать только куки, если адрес хоста заканчивается в .dev.

Попробуйте отправить куки без атрибута домена.

+0

Это работает в Firefox, и это не то, как он должен работать. По крайней мере, согласно [этому сообщению] (http://stackoverflow.com/a/9618243/124486). Пользовательский агент должен «поставить» точку, поэтому он написан как '.dev', который должен отправлять cookie на' dev' и любые поддомены 'dev'. –

2

Это конкретная ошибка Chrome. Нет фикс еще ..

# 56211 chrome.cookies не откажет для LOCALHOST доменов

https://code.google.com/p/chromium/issues/detail?id=56211

Может также хотят читать this question. Это не относится к хроме, как этот вопрос, но он специфичен для поведения localhost (в отличие от этого вопроса).

0

Проблема Эван Кэрролл ссылки для хрома (теперь перенаправляет здесь: https://bugs.chromium.org/p/chromium/issues/detail?id=56211), кажется актуальным, и помечен как «Исправлено». Однако не совсем понятно, как это сделать.

Я имел проблемы с записью хоста в/и т.д./хостов, как этот:

Но после изменения его

127.0.0.1 app.localhost 

он работает, как ожидалось снова. Я думаю, хром преуспел бы в выпуске небольшого журнала об этом, когда это произойдет. Увы, это спасло бы нас всех от печали.

Смежные вопросы