Откуда появляется стандартный заголовок ASP.NET? - PullRequest
2 голосов
/ 08 февраля 2011

Я пытаюсь отладить одну конкретную проблему с приложением ASP.NET и полагаю, что проблема может быть где-то в конфигурации сервера.

В частности, стандартный заголовок ASP.NET отправляется клиенту вместо заголовка, созданного приложением ASP.NET

Date: Fri, 04 Feb 2011 12:15:04 GMT
Server: Microsoft-IIS/5.1
X-Powered-By: ASP.NET

У меня вопрос - откуда этот заголовок? Кто несет ответственность за его изготовление и отправку клиенту? Почему он отправляется клиенту, а не созданным приложением?

Ответы [ 4 ]

3 голосов
/ 08 февраля 2011

Это пользовательский заголовок HTTP и является частью настроек IIS для веб-сайта;

Пользовательские заголовки HTTP

Вы можете использовать это свойство для отправки настраиваемый заголовок HTTP с веб-сервера в браузер клиента. Пользовательские заголовки может быть использован для отправки инструкций от веб-сервер для браузера клиента которые еще не поддерживаются в текущая спецификация HTTP, такая как более новые заголовки HTTP, которые IIS не может неотъемлемая поддержка во время выпуск продукта. Например, вы можно использовать собственный заголовок HTTP, чтобы разрешить клиентский браузер для кэширования страницы но предотвратить прокси-серверы от кеширования страница.

X-Powered-By: ASP.NET присутствует по умолчанию, если вы его не удалите. Я предполагаю, что он добавляется как часть конвейера HTTP Response непосредственно перед отправкой ответа.

2 голосов
/ 08 февраля 2011

Проверьте настройки заголовка веб-сайта IIS для своего приложения.Вы можете удалить его там.

Редактировать: Если вы хотите отредактировать HTTP-заголовок X-Powered-By программным способом, то, если вы хотите отредактировать HTTP-заголовок X-Powered-By, вы можете сделать это, если в IIS 7 используется интегрированный конвейер.См. http://www.4guysfromrolla.com/articles/120209-1.aspx. См. Этот раздел в статье:

Удаление заголовка HTTP сервера Заголовок сервера автоматически добавляется в исходящий ответ IIS.Чтобы удалить этот заголовок из IIS 6 или IIS 7, вы можете использовать бесплатную утилиту Microsoft UrlScan.Если вы используете интегрированный конвейер IIS 7, вы можете программно удалить заголовок сервера с помощью модуля HTTP.В записи блога Стефана Гробнера «IIS 7 - Как отправить пользовательский HTTP-заголовок« Сервер »» показан код, который изменяет заголовок сервера.Короче говоря, вам нужно создать модуль HTTP, который создает обработчик событий для события PreSendRequestHeaders.В этом обработчике событий вы должны написать код, подобный следующему, для удаления заголовка сервера:

HttpContext.Current.Response.Headers.Remove ("Сервер");Говард фон Руойен (Howard von Rooijen) имеет аналогичную, более углубленную информацию об удалении HTTP-заголовка сервера (и других идентифицирующих заголовков) через модуль HTTP при использовании IIS 7 и его интегрированного режима конвейера.Дополнительные сведения см. В разделе «Закрытие веб-приложения ASP.NET MVC в IIS 7».

1 голос
/ 08 февраля 2011

IIS несет ответственность за это.Вы можете удалить его здесь

В этой публикации объясняется, где следует изменить IIS 6 и более поздние версии

1 голос
/ 08 февраля 2011

Это от IIS.Вы можете увидеть это в разделе HTTP Response Headers.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...