Подтвердить что ты не робот

Почему по умолчанию ASP.NET Forms Authentication Cookie имеет ведущий период в имени по умолчанию => ".ASPXAUTH"

по умолчанию cookie ASP.NET Forms Authentication устанавливает его как ".ASPXAUTH" . Обратите внимание, что первый символ - период ? Есть ли для этого конкретная причина? Например, это влияет на доменные имена или поддомены для целевого домена.

Или это просто какая-то случайная вещь, с которой столкнулся MS dev (возможно, чтобы помочь упорядочить файлы cookie, когда они были отладки или что-то в этом роде), поскольку текст с периодами часто попадает в другие строки)?

4b9b3361

Ответ 1

Мне не удалось найти требование "двух точек", которое упоминал sajoshi, но я нашел это в спецификации HTTP rfc2109.

Домен = домен       Необязательный. Атрибут Domain указывает домен, для которого       cookie действителен. Явный домен должен всегда начинаться       с точкой.

http://www.w3.org/Protocols/rfc2109/rfc2109

Раздел 4.2.2 Синтаксис Set-Cookie. Я не знал, что было требование о точках вообще до сообщения sajoshi, поэтому я посмотрел его, но, похоже, он был прав. Если кто-то дает ему более подробное чтение и может указать на то, что я пропустил, сделайте.

Update

I сделал найти в разделе 4.3.3, что

Хост-запрос - это полное доменное имя (не IP-адрес) и имеет форму HD, где D - значение атрибута Domain, а H - строка, содержащая одну или несколько точек.

(FQDN - полное доменное имя)

Set-Cookie из request-host y.x.foo.com для домена =.foo.com будет отклонен, так как H является y.x и содержит точку

и

Set-Cookie из request-host x.foo.com для домена =.foo.com будет принята.

Таким образом, похоже, что для домена Cookie потребуется по крайней мере две точки, если он основывает свое имя на имени домена. Однако cookie аутентификации aspnet не делает этого, поэтому для этого требуется только одна точка.

Ответ 2

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

Ответ 3

Требуется символ главной точки. Это необходимо, потому что спецификация HTTP требует, чтобы свойство домена cookie содержало не менее двух точек.

Это приводит к неудобству, если во время разработки вы хотите делиться кукисами между http://site1.localhost/ и http://site2.localhost/. Чтобы преодолеть это, вы можете сопоставить site1.localhost.dev и site2.localhost.dev с 127.0.0.1 в своем файле хоста, а затем установить для домена значение .localhost.dev

Надеюсь, что это поможет...