#c# #asp.net #iis-6 #windows-server-2003
#c# #asp.net #iis-6 #windows-server-2003
Вопрос:
Мой веб-сайт размещен на Windows server 2003, IIS 6.0. Веб-сайт разработан на ASP.net с Microsoft Framework 3.5
Я установил срок действия содержимого на 12 часов для всего сайта, используя следующие настройки :
Диспетчер IIS-&&t; Сайт-&&t; Свойства-&&t; Заголовки HTTP-&&t; Включить истечение срока действия содержимого-&&t; Истечь через-&&t; 12 часов
Проблема в том, что когда я загружаю сайт, заголовок с истекшим сроком действия не отправляется вместе с сайтом. может ли кто-нибудь, пожалуйста, помочь мне с этим.
Ответ №1:
IIS 6 добавит этот заголовок только к статическому содержимому, например, всему, что не сопоставлено с asp.net обработчик (css, js, изображения и т.д.). Вы вообще не видите заголовок или просто не видите его на своем asp.net динамическое содержимое / страницы?
Комментарии:
1. Привет, Ник, спасибо, я проверил это. Yslow показывает, что у меня есть заголовок с истекшим сроком действия при каждом запросе, кроме файлов js, которые извлекаются из Goo&le и addthis. но когда я использую wfetch, он не показывает заголовок с истекшим сроком действия
2. @Umair — Если вы можете, используйте firebu&, когда это возможно, тогда вы сможете очень легко просмотреть фактический список заголовков для каждого запроса с помощью панели net. Это бесплатно и бесценно 🙂 &etfirebu&.com
3. firebu& также не показывает заголовок с истекшим сроком действия ни с одним из моих материалов
Ответ №2:
При использовании опции «Expire After» в IIS 6.0; IIS 6.0 не отправляет заголовок «Expires», вместо этого он отправляет заголовок «Cache-Control», чтобы отметить продолжительность кэша статического содержимого на стороне клиента.
Если срок действия содержимого истекает через 12 часов (12 часов * 3600 секунд = 43200 секунд), следующий заголовок ответа будет отправлен обратно.
HTTP/1.1 200 OK
...
Cache-Control: max-a&e=43200
...
IIS 6.0 будет использовать заголовок «Expires», если вы установите точную дату истечения срока действия содержимого.
Комментарии:
1. где я должен использовать эти строки? поскольку существует .htaccess для asp.net приложения
2. @Umair приведенный выше фрагмент является HTTP-ответом, который веб-сервер отправляет на запрос.
3. ну, с PHP я могу добавить заголовок элемента управления кэшем в файл .htaccess, я хочу знать, как это сделать с ASP.net IIS 6.0.
4. @Umair для статических ресурсов вы можете использовать параметры истечения срока действия содержимого IIS 6.0, чтобы включить кэширование. Для полного контроля над использованием кэширования ASP.NET Функции кэширования; использование HttpResponse. Свойство кэша классом HttpCachePolicy можно манипулировать для добавления функций кэширования. Смотрите msdn.microsoft.com/en-us/library/xsbfdd8c(VS.71).aspx подробнее.