Я использую метод PassthruAPP для подключения к HTTP / HTTPS-запросам, сделанным IE.
По большей части работает хорошо, но я заметил проблему. Одновременно активен только один поток загрузки, обычно IE использует два потока загрузки. Я вижу, как создаются два объекта IInternetProtocol, но IE использует только один объект за раз.
Это происходит с IE7, я еще не пробовал с другими версиями.
Проблема, похоже, заключается в том, что IE возвращается к загрузке элементов по одному, когда IInternetSession::RegisterNameSpace
вызывается для любого из его обработчиков по умолчанию. Приведенный ниже код приводит к последовательной загрузке HTTP , хотя я регистрирую обработчик HTTPS . Регистрация для file: // вызывает ту же проблему.
CComPtr<IInternetSession> spSession;
CoInternetGetSession(0, &spSession, 0);
MetaFactory::CreateInstance(CLSID_HttpSProtocol, &m_spCFHTTPS);
spSession->RegisterNameSpace(m_spCFHTTPS, CLSID_NULL, L"https", 0, 0, 0)
Это всегда происходит с первыми несколькими элементами на странице, но кажется, что после выдачи завершенного документа одновременные загрузки могут происходить снова. Например, код Javascript, который выполняется после завершения загрузки страницы, может одновременно нормально загружать изображения.