Наблюдается снижение производительности Web, при использовании обозревателя Internet Explorer 6, чтобы попытаться получить доступ к веб-приложения, размещенного на службы IIS 6.0

Переводы статьи Переводы статьи
Код статьи: 922703 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Рассмотрите следующий сценарий:
  • Использовать встроенную проверку подлинности Windows в среде приложения веб-Microsoft Internet Information Services 6.0 (IIS 6.0).
  • Доступ к веб-приложения, размещенного на IIS 6.0 с помощью обозревателя Internet Explorer 6.
В этом случае наблюдается снижение производительности веб-для приложения.

ПримечаниеПроблема не возникает, если анонимная проверка подлинности используется в качестве протокола проверки подлинности. Эта проблема также не возникает, если обозреватель клиента является обозревателем, отличных от Internet Explorer 6, такие как веб-обозревателе Mozilla Firefox.

Причина

Данная проблема возникает из клиентского обозревателя Internet Explorer 6 регулярно Сброс подключения TCP.

Если анализа трассировки сети, записанных во время выполнения плохо обмена данными между клиентом и сервером, Трассировка сети показывает, возникновения TCP сбрасывается после клиент получает ответ 200 ресурса, который запросил клиент. Клиент выполняет запросы GET ETag НТТР-заголовок и значение. Сервер, на котором выполняется IIS 6.0, получив запрос, он сравнивает значение ETag и обнаруживает, что значение ETag соответствует текущее значение запрошенного файла, за исключением изменения номера.

ПримечаниеETag заголовки будут показаны в следующем формате:

Filetimestamp:ChangeNumber

Например Internet Explorer клиент отправляет запрос со значением ETag 0222d5bffcbc41:301a, и сервер отправит ответ HTTP 200 со значением ETag 0222d5bffcbc41:3246.

Filetimestampномер в запросе используется тот же номер, который считает, что службы IIS 6.0 для текущего значения для запроса ресурса. Но посколькуChangeNumberномер в запросе, отличается, IIS 6.0, отправляет обратно текущую версию файла, вместо того, о том, Internet Explorer, чтобы обслуживать собственные кэшированные копии. В обозревателе Internet Explorer, сравнивающее имеется специальный кодFiletimestampна 200 ответ сШтамп временилокально кэшированные копии. Подключение восстанавливается в том случае, если тот же номер. Это обусловлено тем, что клиент Internet Explorer ожидает получения отчета о состоянии 304, если содержимое совпадает.

Другими словами, IIS 6.0 отправляет ответ 200, так как он считает, что номера другое изменение, означает, что ресурс, который запрошен клиентом и существующей версии этого ресурса, который находится в кэше обозревателя клиента не одинаковые версии. Тем не менее, Internet Explorer рассматривает их как одинаковые версии, так какFiletimestampтакой же. Кроме того Internet Explorer считает, что он получает ответ 200 по ошибке. В этом случае обозреватель Internet Explorer Сброс подключения TCP.

Временное решение

При использовании компьютера под управлением Microsoft Windows Server 2003

Для временного решения этой проблемы корпорация Майкрософт рекомендует, жестких кода номер изменения на веб-сервер и синхронизации для всех клиентов обозревателя Internet Explorer версии файла. Все клиенты Internet Explorer будет иметь версии различных файлов, необходимых для приложения. Убедитесь, синхронизации сервера и всех клиентов.

ПримечаниеПри работе в среде фермы IIS 6.0 Web, необходимо жестко кода тот же номер изменения для всех серверов, работающих под управлением IIS 6.0 в ферме.

Чтобы синхронизировать изменения чисел между клиентами и сервером, выполните следующие действия.
  1. Код вручную жесткого значение ETag в метабазе IIS 6.0

    Возможность изменить номер ETag изменения в IIS 6.0 доступна в Windows Server 2003 с пакетом обновления 1 (SP1).

    ПримечаниеМогут возникнуть проблемы, когда изменяется значение ETag, и необходимо установить исправление для устранения этой проблемы.Для получения дополнительных сведений о исправления щелкните следующий номер статьи базы знаний Майкрософт:
    900245Значение в поле ETAG обновляется при изменении свойства метабазы в IIS 6.0
    После установки исправления, жестко вручную код можно изменить номер ETag. Тем не менее параметр для изменения номера ETag не отображается в пространстве имен интерфейсы служб Active Directory (ADSI). Таким образом необходимо использовать средство проводника метабазы для задания значения свойства идентификатора. Чтобы загрузить и установить проводника метабазы, посетите следующий веб-страницы Microsoft:
    889e-5761 - 448f - http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/993a8a36-9ae58d072c09.mspx
    ПримечаниеПроводника метабазы включается в пакет ресурсов IIS 6.0.

    Вручную жесткого код ETag изменить номер, выполните следующие действия:
    1. Открыть обозреватель метабазы, разверните узелLMна левой панели, а затем развернитеW3SVC.
    2. Двойного 2039 идентификатор записи в правой области. Если запись 2039 идентификатор отсутствует, необходимо создать. Чтобы сделать это, выполните следующие действия:
      1. Правой кнопкой мышиW3SVCузел в обозревателе метабазы пунктСоздать новый, а затем нажмите кнопкуЗначение типа DWORD.
      2. Идентификатор нового набораDWORDдля2039.
      3. Введите значение для нового ПАРАМЕТРА для0.
    3. Тип0вЗначениеполе.

      ПримечаниеНомер, введенный вЗначениеполе должно быть в диапазоне от 0 до 4294967295. Кроме того, все серверы в ферме должны иметь одинаковые номераЗначениеполе . Для получения дополнительных сведений посетите следующий веб-страницы Microsoft:
      http://www.Microsoft.com/TechNet/prodtechnol/WindowsServer2003/Library/IIS/ef7f9d58-2a96-4bd8-8ac1-2a67b43284f1.mspx
    4. Нажмите кнопкуПрименение, а затем нажмите кнопкуОК.
    ПримечаниеПри работе в среде фермы IIS 6.0 Web, повторите действия 1a-1 d на всех серверах IIS 6.0 в ферме серверов IIS 6.0. Убедитесь, что добавление же измените числовое значение для всех серверов.
  2. Очистить кэш клиентского обозревателя Internet Explorer

    Если слишком много клиентских обозревателей вручную очистить кэш, можно выбратьВключите срок действия содержимогов IIS 6.0, а затем укажите содержимого истекает немедленно. В этом случае необходимо оставитьВключите срок действия содержимоговключен только как необходимое содержимое новой для всех клиентов. После этого необходимо отключитьВключите срок действия содержимого, чтобы дать возможность снова служат кэшированного содержимого Internet Explorer. Чтобы включить срок действия содержимого, выполните следующие действия:
    1. Откройте службы Интернета для информации.
    2. Разверните узелLocalMachineна левой панели, а затем выберитеВеб-узлов.
    3. Щелкните правой кнопкой мышиВеб-узлов, а затем нажмите кнопкуСвойства.
    4. НаЗаголовки HTTPтабуляции, установитеВключите срок действия содержимогофлажок и нажмите кнопкуСрок действия истекает немедленнопараметр.
    5. Остановить и перезапустить все службы IIS 6.0 службы.
    ПримечаниеКлиента может потребоваться создать два запроса для ресурса послеВключите срок действия содержимогофлажок установлен, для обновления кэша обозревателя Internet Explorer.

Если не используется, чтобы компьютер под управлением Windows Server 2003

Для решения этой проблемы, включитеВключите срок действия содержимогопараметра в IIS 6.0 с помощью процедуры, описанной в разделе «Очистить кэш клиентского обозревателя Internet Explorer» и оставить его. Кроме того отключить кэширование в обозревателе Internet Explorer или установки кэша заголовков элемента управления в веб-приложения. Для получения дополнительных сведений о том, как предотвратить кэширование Web, щелкните следующий номер статьи базы знаний Майкрософт:
311006Как предотвратить кэширование в Windows 2000 Web

Статус

Для правильной обработки ETag число изменений в соответствии с RFC 2616 изменен обозревателя Internet Explorer 7. Тем не менее при изменении номера ETag обозревателя Internet Explorer 7 будет загружать файл целиком, вместо того, как Отмена соединения. Это может привести к снижению производительности по сравнению с Internet Explorer 6 обозреватель Internet Explorer 7.

Дополнительная информация

Если проанализировать трассировку сетевого монитора, в который записывается на клиентском компьютере или на сервере и данной трассировки участвует в сценарии производительности, можно увидеть следующую последовательность:
  1. Клиент отправляет запрос GET к серверу, на котором выполняется IIS 6.0, а запрос включает в заголовок If-None-Match сFiletimestamp:ChangeNumberзначение . Этот запрос следующего вида:
    HTTP: GET Request from Client
    HTTP: Request Method =GET
    HTTP: Uniform Resource Identifier =/MARRS/webService.htc
    HTTP: Protocol Version =HTTP/1.1
    HTTP: Accept = */*
    HTTP: Accept-Encoding =gzip, deflate
    HTTP: If-Modified-Since =Tue, 16 Nov 2004 17:11:48 GMT
    HTTP: If-None-Match ="0222d5bffcbc41:301a" 
    HTTP: User-Agent =Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET 
    CLR 1
    HTTP: Host =nnoma-wwapp02m
    HTTP: Connection =Keep-Alive
    HTTP: Authorization =Negotiate 
    TlRMTVNTUAADAAAAGAAYAG4AAAAKAQoBhgAAAAoACgBIAAAAEgASA
    HTTP: Cookie =ASP.NET_SessionId=uqnwgpygpf0dh2iwysznat55
    
    ПримечаниеНекоторые из переменных HTTP в этих примерах может отличаться в вашей среде.
  2. Сервер получает запрос и отправляет ответ 200 вместе с данными, которые запрашиваются. Поскольку клиенту передается заголовка If-None-Match, IIS 6.0 должен включать заголовок ETag ответ с значение заголовка в свой ответ. Этот ответ следующего вида:
    HTTP: Response to Client; HTTP/1.1; Status Code = 200 - OK
    HTTP: Protocol Version =HTTP/1.1
    HTTP: Status Code = OK
    HTTP: Reason =OK
    HTTP: Content-Length =51622
    HTTP: Content-Type =text/x-component
    HTTP: Last-Modified =Tue, 16 Nov 2004 17:11:48 GMT
    HTTP: Accept-Ranges =bytes
    HTTP: ETag ="0222d5bffcbc41:3246"
    HTTP: Server =Microsoft-IIS/6.0
    HTTP: X-Powered-By = ASP.NET
    HTTP: Date =Tue, 27 Sep 2005 12:18:27 GMT
    HTTP: Data: Number of data bytes remaining = 1202 (0x04B2)
    
  3. Клиент получает ответ. Ответ содержит о состоянии HTTP 200, вместо состояния HTTP 304 ожидал веб-обозревателе. Таким образом обозреватель отправляет RST TCP, чтобы восстановить подключение. Это делается потому, что обозреватель Internet Explorer считает отправку сервером состояния HTTP 200 по ошибке. TCP RST следующего вида:
    TCP: Control Bits: .A.R.., 
    TCP: Source Port = 0x0747
    TCP: Destination Port = World Wide Web HTTP
    TCP: Sequence Number = 3840808344 (0xE4EE1598)
    TCP: Acknowledgement Number = 3150159894 (0xBBC3A016)
    TCP: Data Offset = 20 bytes
    TCP: 0101.... = Data Offset (20 bytes)
    TCP: ....0000 = Reserved bits
    TCP: Flags = 0x14 : .A.R..
    TCP: ..0..... = No urgent data
    TCP: ...1.... = Acknowledgement field significant
    TCP: ....0... = No Push function
    TCP: .....1.. = Reset the connection
    TCP: ......0. = No Synchronize
    TCP: .......0 = Not the end of the data
    TCP: Window = 0 (0x0)
    TCP: Checksum = 0xF26C
    TCP: Urgent Pointer = 0 (0x0)
    
    Для получения дополнительных сведений о протокол управления передачей (TCP), посетите следующий веб-страницы:
    http://www.FAQs.org/rfcs/RFC793.HTML

Свойства

Код статьи: 922703 - Последний отзыв: 23 сентября 2011 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Information Services 6.0
Ключевые слова: 
kbtshoot kbprb kbmt KB922703 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:922703

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com