Aprimoramentos na conectividade no Internet Explorer 8
O Internet Explorer 8 contém vários aprimoramentos de conectividade importantes que podem melhorar o desempenho e a funcionalidade do AJAX (Asynchronous JavaScript and XML) e de outros aplicativos Web. Esses aprimoramentos incluem um aumento no número máximo de conexões simultâneas de um único host e a adição de eventos de conectividade.
Este tópico contém as seções a seguir.
- Conexões simultâneas
- Algumas informações
- Nova propriedade de conexão programável
- Alterando o número máximo de conexões simultâneas
- Aprimoramentos de status de conectividade
- Nova funcionalidade da propriedade onLine
- Novos eventos simples
- Novos manipuladores de retorno de chamada
- Tópicos relacionados
Conexões simultâneas
Com o Internet Explorer 8, o número máximo de conexões simultâneas de um único processo de host conectando-se por banda larga a um único servidor foi aumentado para 6. No Internet Explorer 7 e nas versões anteriores, o número máximo de conexões simultâneas por processo de host a um único servidor por HTTP 1.1 é 2. Para o HTTP 1.0, o limite é 4, embora as conexões HTTP 1.1 sejam muito mais comuns atualmente. Observe que o número máximo de conexões simultâneas de um único processo de host conectando-se por meio de conexão dial-up (por exemplo, com um modem em uma linha telefônica) a um único servidor permanece igual ao do Internet Explorer 7 e de versões anteriores.
A tabela a seguir resume o número máximo de conexões simultâneas com base na versão do Internet Explorer sendo executada no host, na velocidade de conexão do host e na versão de protocolo com suporte do servidor.
Versão | Servidor HTTP 1.0 (conexão de banda larga) | Servidor HTTP 1.1 (conexão de banda larga) | Servidor HTTP 1.0 (conexão dial-up) | Servidor HTTP 1.1 (conexão dial-up) |
---|---|---|---|---|
Internet Explorer 7 e versões anteriores | 4 | 2 | 4 | 2 |
Internet Explorer 8 | 6 | 6 | 4 | 2 |
Algumas informações
Enquanto o limite de quatro conexões para o HTTP 1.0 era definido para corresponder ao comportamento da maioria dos outros navegadores naquela época, o limite de duas conexões para o HTTP 1.1 era obrigatório devido a uma instrução estabelecida na Especificação HTTP 1.1 - Request for Comment 2616 (a página pode estar em inglês). Na época em que o padrão foi descrito pela primeira vez (janeiro de 1997), o limite de duas conexões era apropriado, considerando-se o domínio de conexões dial-up com a Internet e a escassez de conexões de banda larga.
Entretanto, desde que o padrão HTTP 1.1 foi descrito, as conexões de largura de banda alta se tornaram mais comuns, invalidando a largura de banda do lado do cliente como um fator de obstrução na velocidade da conexão. Geralmente, o tempo necessário para estabelecer uma conexão e enviar uma solicitação compõe a maior parte do tempo gasto recuperando-se objetos individuais. Além disso, os recursos aprimorados dos servidores proxy e Web atuais reduzem o risco de sobrecarregar a infraestrutura de rede com um aumento de conexões por host. A necessidade de mais conexões por host é especialmente grande, considerando-se o aumento da popularidade de páginas e aplicativos AJAX, muitos dos quais enviam grandes quantidades de dados de maneira assíncrona.
Nova propriedade de conexão programável
Você talvez tenha preocupações em relação à compatibilidade com esse novo comportamento se tiver implementado soluções alternativas para contornar as limitações anteriores. Nesse caso, para evitar a sobrecarga de seu servidor Web, você talvez deseje adaptar a entrega de conteúdo com base no número de conexões que cada computador cliente é capaz de estabelecer simultaneamente. Para essa finalidade, o Internet Explorer 8 inclui o objeto window.maxConnectionsPerServer, que permite que o seu servidor determine o número de conexões disponíveis no computador cliente.
No Internet Explorer 8, maxConnectionsPerServer retornará 6
em uma conexão de banda larga, a menos que um usuário ou um administrador tenha substituído os padrões. Se o computador cliente for conectado por meio de uma conexão dial-up, maxConnectionsPerServer retornará 2
se estiver conectado a um servidor HTTP 1.1 ou retornará 4
se estiver conectado a um servidor HTTP 1.0.
Alterando o número máximo de conexões simultâneas
Os usuários ou os administradores que enfrentam problemas com o tempo de carregamento da página podem alterar o número máximo de conexões simultâneas a um único servidor. O primeiro método permite alterar os limites para um valor escolhido por você. O segundo método altera os limites usando a Diretiva de Grupo.
Importante Esta seção contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Verifique se você sabe como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o Registro, consulte o artigo sobre como fazer o backup e restaurar o Registro no Windows da Base de Dados de Conhecimento Microsoft.
Método 1: Alterando valores usando uma chave de controle de recurso
Inicie o Regedit.
Para conexões HTTP 1.1, navegue até a chave de controle de recurso a seguir. Se ela ainda não existir, crie-a.
HKEY_LOCAL_MACHINE (ou HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPERSERVERObservação Você pode alterar ou adicionar FEATURE_MAXCONNECTIONSPERSERVER no mesmo local dentro de HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER. O efeito é idêntico.
Crie um novo DWORD chamado
iexplore.exe
e defina seus dados de valor como o limite de conexões desejado para conexões HTTP 1.1. Por exemplo, definir o valor como0000002
corresponderá ao limite do Internet Explorer 7 e versões anteriores.Para conexões HTTP 1.0, navegue até a chave de controle de recurso a seguir. Se ela ainda não existir, crie-a.
HKEY_LOCAL_MACHINE (ou HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPER1_0SERVERObservação Você pode alterar ou adicionar FEATURE_MAXCONNECTIONSPER1_0SERVER no mesmo local dentro de HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER. O efeito é idêntico.
Crie um novo DWORD chamado
iexplore.exe
e defina seus dados de valor como o limite de conexões desejado para conexões HTTP 1.0. Por exemplo, definir o valor como0000004
corresponderá ao limite do Internet Explorer 7 e versões anteriores.
Método 2: Alterando valores usando a Diretiva de Grupo
Você pode alterar o número máximo de conexões simultâneas a um único servidor usando a Diretiva de Grupo, conforme descrito nesta seção. A maneira mais simples é usar o Editor de Diretiva de Grupo, que é listado primeiro. Você também pode editar uma chave de controle de recurso, que é listada em segundo lugar.
Método do Editor de Diretiva de Grupo
- Execute gpedit.msc.
- Expanda Configuração do Usuário (ou Configuração do Computador), Modelos Administrativos, Componentes do Windows, Internet Explorer e Recursos de Segurança e AJAX.
- Defina Número máximo de conexões por servidor (HTTP 1.0) e Número máximo de conexões por servidor (HTTP 1.1) de acordo com as configurações desejadas. Você deverá atualizar as diretivas ou reiniciar o computador para aplicar as alterações.
Método da chave de controle de recurso
Inicie o Regedit.
Para conexões HTTP 1.1, navegue até a chave de controle de recurso a seguir. Se ela ainda não existir, crie-a.
HKEY_LOCAL_MACHINE (ou HKEY_CURRENT_USER)
SOFTWARE
Policies
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPERSERVERObservação Você pode alterar ou adicionar FEATURE_MAXCONNECTIONSPERSERVER no mesmo local dentro de HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER. O efeito é idêntico.
Crie um novo DWORD chamado
iexplore.exe
e defina seus dados de valor como o limite de conexões desejado para conexões HTTP 1.1. Por exemplo, definir o valor como0000002
corresponderá ao limite do Internet Explorer 7 e versões anteriores.Para conexões HTTP 1.0, navegue até a chave de controle de recurso a seguir. Se ela ainda não existir, crie-a.
HKEY_LOCAL_MACHINE (ou HKEY_CURRENT_USER)
SOFTWARE
Policies
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPER1_0SERVERObservação Você pode alterar ou adicionar FEATURE_MAXCONNECTIONSPER1_0SERVER no mesmo local dentro de HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER. O efeito é idêntico.
Crie um novo DWORD chamado
iexplore.exe
e defina seus dados de valor como o limite de conexões desejado para conexões HTTP 1.0. Por exemplo, definir o valor como0000004
corresponderá ao limite do Internet Explorer 7 e versões anteriores.
Aprimoramentos de status de conectividade
O Internet Explorer 8 habilita a sua página ou o seu aplicativo a fazer consultas se o navegador possui uma conexão de rede. No Internet Explorer 7 e em versões anteriores, essa funcionalidade não existe e, por isso, poderá levar a uma experiência de usuário indesejável se o computador do usuário perder a conectividade.
Nova funcionalidade da propriedade onLine
A propriedade onLine (dos objetos window.navigator e window.clientInformation) está disponível desde o Microsoft Internet Explorer 4.0. Entretanto, desde o Internet Explorer 4.0 até o Internet Explorer 7, a propriedade onLine apenas indica se o sistema está no "modo offline global", que os usuários iniciam escolhendo Trabalhar Offline no menu Arquivo. Nessas versões, a propriedade onLine não indica se o sistema está conectado à rede. Entretanto, no Internet Explorer 8 e em versões posteriores, a propriedade onLine indica se o sistema está realmente conectado à rede.
Para consultar o status de conexão de rede, chame window.navigator.onLine. A propriedade retornará verdadeiro se o sistema estiver conectado à rede e falso se não estiver.
Novos eventos simples
Quando a propriedade window.navigator.onLine é alterada depois de uma página ser carregada, um evento simples é acionado no elemento body da página, conforme mostrado a seguir.
- Se onLine mudar de verdadeiro para falso, o evento simples offline é acionado no elemento body.
- Se onLine mudar de falso para verdadeiro, o evento simples online é acionado no elemento body.
Para obter mais informações sobre a geração de eventos em elementos HTML, consulte HTML 5 (Working Draft) (a página pode estar em inglês) no site do W3C (World Wide Web Consortium). Os eventos online e offline estão em conformidade com o HTML 5 Working Draft do W3C desde novembro de 2008.
Você pode desabilitar os eventos de conectividade com uma chave de controle de recurso. Para fazer isso, siga estas etapas:
Inicie o Regedit.
Navegue até a chave de controle de recurso a seguir. Se ela ainda não existir, crie-a.
HKEY_LOCAL_MACHINE (ou HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_AJAX_CONNECTIONEVENTSObservação Você pode alterar ou adicionar FEATURE_AJAX_CONNECTIONEVENTS no mesmo local dentro de HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER. O efeito é idêntico.
Crie um novo DWORD chamado
iexplore.exe
e defina seus dados de valor como0000000
.
Se, depois de criar a chave do Registro, você desejar habilitar os eventos de conectividade novamente, é possível definir o valor de iexplore.exe
como 0000001
.
Novos manipuladores de retorno de chamada
Para indicar uma alteração no status de uma conexão, o Internet Explorer 8 apresenta os seguintes manipuladores de retorno de chamada:
- O manipulador onoffline é acionado quando o computador do usuário perde sua conexão de rede; por exemplo, quando o cabo de rede é desconectado ou o adaptador de rede é desabilitado. Ele também é acionado quando o usuário ativa a configuração Trabalhar Offline.
- O manipulador ononline é acionado quando a conexão de rede do computador é restaurada. Ele também é acionado quando o usuário desativa a configuração Trabalhar Offline.