Синтаксис Setcookie Google Chrome
Я использую следующий синтаксис для установки файла cookie:
Set-Cookie:Cookie-name=value; path=/; Max-Age=1296000; HttpOnly
В консоли Google Chrome он показывает
Недействительная дата для этого файла cookie.
Что не так в синтаксисе?
Согласно
http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age
http://tools.ietf.org/html/rfc6265#section-5.2.2
Я могу использовать Max-Age для указания относительного времени истечения.
Ответы
Ответ 1
Я не думаю, что это то, что вы могли/должны решить. Инструмент Inspector/Dev, который вы используете, не всегда прав, как показано другим пользователем. Существуют и другие случаи, когда инструмент Dev тоже не так, как в "сетевом" инструменте.
Вы можете установить расширение, например отредактировать этот файл cookie, чтобы узнать, как ведут себя ваши файлы cookie. Хотя это не поможет вам отслеживать переадресацию, это помогает узнать, какие файлы cookie настроены и вы также можете изменить его.
Ответ 2
Update
Я провел дополнительные тесты и пришел к тому же выводу, что и Проблема 123013, указанная ниже. Я думаю, что это просто ошибка DevTools.
DevTools > В сети отображается неверное отображение даты. Однако DevTools > Resources правильно отображает дату, аналогичную другим браузерам.
Кроме того, еще один файл cookie, который я создал, истек. Это было отражено в DevTools > Ресурсах, но не в DevTools > Network..
Результаты тестирования
setcookie('foo', 'bar', time()+3600, "/", NULL, false, true);
Chrome v24.0.1312.57
Resources > Cookies Thu, 14 Feb 2013 17:08:33 GMT
Network > Cookies Invalid Date
Firefox 18.0.2 Thursday, February 14, 2013 11:59:15 AM
IE9 9.0.8112.16421 Thu, 14-Feb-2013 17:06:42 GMT
Наконец, в заключение, ваш синтаксис выглядит правильным. Сообщение "Недействительная дата" выглядит как ошибка Chrome.
Я мог not повторить эту проблему с помощью Chrome v24.0.1312.57. Я установил различные тестовые файлы cookie с помощью JavaScript и PHP. Chrome не допустил ошибок и правильно преобразовал значения max-age
, которые я передал в соответствующие значения expires
.
Эта ошибка или что-то очень похожее было представлено и, по-видимому, исправлено.
WebKit
Хром