Set-Cookie Vs response.Cookies И дублированные ключи

У меня есть два вопроса.

Вопрос № 1: В чем разница между HttpWebResponse.Cookies и WebResponse.Headers["Set-Cookie"]? Является ли «WebResponse.Headers["Set-Cookies"]» недействительным http-куки?

Вопрос № 2: Как получить значения дублированных заголовков с одинаковыми именами из HttpWebResponse?

Вот необработанный ответ, который я скопировал из Fiddle. Как видите, есть два заголовка с одинаковым названием «Set-Cookie». Я всегда получаю первый в HttpWebResponse. Является ли файл cookie «__utms» аналитикой Google?

HTTP/1.1 200 OK
Date: Tue, 27 Dec 2011 09:47:53 GMT
Chunk: 10210620
Set-Cookie: ASP.NET_SessionId=34ft0d45uboqv245bev2nwrj; path=/; HttpOnly
Set-Cookie: __utms=A51743627D9238C3997BABD76D7D75; domain=ibc88.com; expires=Wed, 28-Dec-2011 09:47:53 GMT; path=/
Content-Type: text/html; charset=utf-8
Cache-Control: private, no-store
Content-Length: 2543

person Michael Sync    schedule 27.12.2011    source источник


Ответы (1)


Вы заметили флаг HttpOnly в файле cookie ASP.NET_SessionId? Этот флаг в основном указывает, что этот файл cookie не может быть прочитан клиентами. Вы отправляете запрос клиента, используя WebRequest или WebClient или что-то еще, но вы никогда не сможете прочитать это значение файла cookie. Только сервер может его прочитать. Клиент сохранит и отправит его при последующих запросах, но вы никогда не сможете прочитать его значение.

Джефф также писал в блог о HttpOnly.

person Darin Dimitrov    schedule 27.12.2011
comment
спасибо за объяснение и ссылку! как читать дублированные заголовки? - person Michael Sync; 28.12.2011
comment
@MichaelSync, какие повторяющиеся заголовки вы хотите прочитать? Set-Cookie? Свойство Cookies в ответе даст вам доступ к значениям тех файлов cookie, которые не отмечены флагом HttpOnly. - person Darin Dimitrov; 28.12.2011