Re: формат даты в cookie
Maxim Dounin
mdounin на mdounin.ru
Пт Мар 30 12:11:23 UTC 2012
Hello!
On Fri, Mar 30, 2012 at 03:42:35PM +0400, Anton Yuzhaninov wrote:
> Модуль ngx_http_userid_module при выдаче кук использует устаревший
> формат даты, например:
> expires=Thu, 31-Dec-37 23:55:55 GMT
>
> Почему не используется такой формат?
> expires=Sun, 31 Dec 2037 23:55:55 GMT
> Такой формат не понимают какие то бразуеры? Если да, то какие?
u_char *
ngx_http_cookie_time(u_char *buf, time_t t)
{
ngx_tm_t tm;
ngx_gmtime(t, &tm);
/*
* Netscape 3.x does not understand 4-digit years at all and
* 2-digit years more than "37"
*/
return ngx_sprintf(buf,
(tm.ngx_tm_year > 2037) ?
"%s, %02d-%s-%d %02d:%02d:%02d GMT":
"%s, %02d-%s-%02d %02d:%02d:%02d GMT",
week[tm.ngx_tm_wday],
tm.ngx_tm_mday,
months[tm.ngx_tm_mon - 1],
(tm.ngx_tm_year > 2037) ? tm.ngx_tm_year:
tm.ngx_tm_year % 100,
tm.ngx_tm_hour,
tm.ngx_tm_min,
tm.ngx_tm_sec);
}
Не то чтобы Netscape 3.x всё ещё актуален, но противоположных
примеров пока нет ни одного.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru