Pré-busca de link - Link prefetching
A pré-busca de links permite que os navegadores da web pré-carreguem recursos. Isso acelera o carregamento e a renderização de páginas da web. A pré-busca foi introduzida pela primeira vez em HTML5 .
A pré-busca é realizada por meio de dicas em páginas da web. Essas dicas são usadas pelo navegador para pré-buscar links. Os recursos que podem ser pré-buscados incluem: JavaScript , CSS , imagem, áudio, vídeo e fontes da web . Nomes DNS e conexões TCP também podem ser sugeridos para pré-busca.
Pré-busca em HTML5
Existem dois padrões W3C que cobrem a pré-busca para HTML5:
- Pré-carregamento de link
- Dicas para URLs específicos. Dicas comuns incluem JavaScript , CSS , imagens e fontes da web .
- Dicas de recursos
- Dicas para o navegador. Dicas comuns incluem consultas DNS, abertura de conexões TCP e pré-renderização de página.
Métodos HTML5 para dicas de pré-busca:
- Pré-busca de link padrão (compatível com a maioria dos navegadores):
<link rel="prefetch" href="http://www.example.com/"> - Pré-busca de DNS ( Mozilla Firefox , Google Chrome e outros):
<link rel="dns-prefetch" href="http://example.com/"> - Pré-renderização de página ( Google Chrome , Internet Explorer e outros):
<link rel="prerender" href="/page/to/prerender"> - Carregamento lento de imagens ( Internet Explorer ):
<img src="image.jpg" lazyload> -
Linkpara cabeçalhos HTTP : exemplo abaixo.
Link: <//pagead2.googlesyndication.com>; rel=dns-prefetch,
</js/bootstrap.min.js>; as=script; rel=preload,
</ads.html>; rel=prerender,
</css/bootstrap.min.css>; as=style; rel=preload
Suporte de navegador
| Navegador | Pré-busca com suporte | |||
|---|---|---|---|---|
| Pré-busca de link padrão | Pré-busca de DNS | Pré-renderização | Carregamento lento (imagens) | |
| Navegador Android | sim | Não | Não | Não |
| Cromo | sim | sim | sim | Não |
| Google Chrome | sim | sim | sim | Não |
| Internet Explorer | sim | sim | sim | sim |
| Mozilla Firefox | sim | sim | Não | Não |
| Ópera | sim | Não | Não | Não |
| Safári | Não | sim | Não | Não |
Histórico
- iCab , Mozilla Application Suite e WebTV são os primeiros navegadores referenciados a oferecer suporte à pré-busca de link.
- Navegar usando um Google Web Accelerator (produto descontinuado, pode tecnicamente ser chamado de pré-cache )
- O dispositivo proxy Blue Coat é conhecido por usar pré-busca não compatível.
Navegadores modernos
- Mozilla Firefox suporta pré-busca de DNS, a partir da versão 3.5.
- O Google Chrome suporta a pré-busca de conteúdo da web vinculado por "pré-renderização", a partir da versão 11.
-
O Internet Explorer suporta a pré-busca de endereços IP por " pré-busca de DNS ", a partir da versão 9.
- A partir da versão 11, o Internet Explorer suporta o seguinte conjunto de recursos para expandir seus recursos de pré-busca: "prerender", "dns-prefetch" e "lazyload" (apenas imagens).
Sites populares que usam pré-busca
-
Google é o mais conhecido site que tira proveito desse recurso, de modo a melhorar a experiência do usuário. Se o primeiro hit for considerado muito provável como o desejado, ele será atribuído como um link pré-buscado.
- Especificamente, o Google implementou o "Google Instant Pages" em agosto de 2011, que aproveita o recurso mencionado, a conclusão da pesquisa preditiva e o pré-carregamento dos resultados da pesquisa conforme o usuário digita para melhorar o desempenho do mecanismo de pesquisa.
- O Bing tem empregado o uso de pré-busca e pré-carregamento desde o lançamento do Internet Explorer 11 (outubro de 2013).
Questões e críticas
Um problema inerente à pré-busca indiscriminada de links envolve o uso indevido de métodos HTTP "seguros" . As solicitações HTTP GET e HEAD são consideradas "seguras", ou seja, um agente do usuário que emite uma dessas solicitações deve esperar que a solicitação não resulte em nenhuma alteração no servidor destinatário. No entanto, é comum que os operadores de sites usem essas solicitações fora dessa restrição. Hiperlinks simples (que quase universalmente resultam em solicitações GET) são frequentemente usados para implementar a funcionalidade de logout e verificação de conta, por exemplo, quando um usuário preenche um formulário de criação de conta e um serviço automatizado envia um e-mail de verificação para o e-mail fornecido pelo usuário Morada.
Da mesma forma, é perfeitamente possível para um serviço de hospedagem fornecer um front-end da Web para gerenciar arquivos, incluindo links que excluem um ou mais arquivos. Os usuários que visitam páginas que contêm esses tipos de links (enquanto usam um navegador que utiliza um pré-buscador de links indiscriminado), podem descobrir que foram desconectados ou que seus arquivos foram excluídos.
Além disso, há uma série de críticas sobre as implicações de privacidade e uso de recursos da pré-busca de links:
- Os usuários e operadores de sites que pagam pela quantidade de largura de banda que usam acabam pagando pelo tráfego de páginas que o usuário pode não visitar de fato, e os anunciantes podem pagar por anúncios visualizados em sites que nunca são visitados.
- As estatísticas da Web, como uso do navegador, referenciadores de mecanismo de pesquisa e acessos de página, podem se tornar menos confiáveis devido ao registro de acessos de página que nunca foram vistos pelo usuário.
- Os usuários podem estar expostos a mais riscos de segurança baixando mais páginas ou de sites não solicitados (além disso, à medida que os downloads drive-by se tornam mais avançados e diversificados).
- Os usuários podem violar as políticas de uso aceitável de sua rede ou organização se a pré-busca acessar conteúdo não autorizado.
No caso de dispositivos móveis ou para usuários com uma permissão de largura de banda limitada, a pré-busca pode resultar em um dreno desnecessário e caro na largura de banda limitada.
É possível para as implementações pré-buscar links, mesmo quando eles não são especificados como links de pré-busca.
No caso de pré-renderização, o Google avisa que o uso impróprio pode resultar no aumento do uso da largura de banda mencionado acima, carregamento mais lento de outros links e conteúdo ligeiramente desatualizado.