2016-08-22 6 views
4

Я пытаюсь получить мой заголовок с помощью кеширования. У меня есть следующий код в vb.net:Что задает no-cache = «Set-Cookie»

With HttpContext.Current.Response 
    .Cache.SetCacheability(HttpCacheability.Public) 
    .Cache.SetRevalidation(HttpCacheRevalidation.AllCaches) 
    .Cache.SetLastModified(Now) 
    .Cache.SetExpires(DateTime.UtcNow.AddSeconds(120)) 
    .Cache.SetMaxAge(TimeSpan.FromSeconds(120)) 
End With 

который возвращает следующие заголовки:

Cache-Control: public, no-cache="Set-Cookie", must-revalidate, max-age=120 
Content-Type: application/xml; charset=utf-8 
Expires: Mon, 22 Aug 2016 13:54:36 GMT 
Last-Modified: Mon, 22 Aug 2016 13:52:36 GMT 

Но я пытаюсь выяснить, что установка no-cache="Set-Cookie" и как я могу переключиться, что или выкл?

+0

[Это StackOverflow сообщение] (http://stackoverflow.com/q/14005279/4072843) выглядит уместным, и может помочь. – Castaglia

ответ

1

No-cache = «Set-Cookie» указывает браузеру не кэшировать заголовок сервера «Set-Cookie», но для остальных запросов следуйте другим правилам. Вот обсуждение с W3C http://www.w3.org/Protocols/HTTP/Issues/cache-private.html

В HTTP 1.1, Рой предложил некоторые функции для новой директивы кэш-контроля , которые позволяют серверам, чтобы выборочно отключить кэширование конкретных заголовков. Это не было бы, например: кэш-контроль: нет кэша = "печенье установленный"

+0

Как я понял, что связанный документ состоит в том, что если присутствует заголовок «Set-Cookie», тогда весь ответ не кэшируется. Было бы неплохо получить разъяснения по этому поводу, а также поддержку браузера. –