Всем привет!
Некий программный комплекс работает по принципу клиент-сервер. Сервер (под IIS) и клиент (под Windows) общаются по HTTP протоколу через прокси (Forefront TMG). Клиент посылает запрос (на этом этапе всё ок), сервер посылает ответ двумя (или больше) пакетами – вначале HTTP-заголовок, потом всё остальное (посылается без задержки). Если смотреть в Network Monitor-е, то видно, что между получением HTTP-заголовка и следующего пакета есть задержка 200 мс. На клиенте используются отложенные подтверждения (если их отключить, то задержки нет, и всё значительно ускоряется).
У меня пока есть только такое объяснение. Прокси не посылает сразу 2 пакета, а посылает первый (мелкий), ждет подтверждения от клиента 200 мс, потом посылает второй. Это реально? Проблема в том, что я не очень представляю, как работает прокси.
С этим объяснением есть проблема – в аналогичной ситуации в Interner Explorer все работает…
Проверял в другом месте, где прокси нет, нет этих задержек.
Скорее всего можно бы побороться с этим, послав заголовок сразу вместе с другими данными, но похоже это довольно муторно переделывать, если возможно.