Utilia

Visualizador de ficheiros HAR

Abre um ficheiro .har no navegador para inspecionar pedidos, cabeçalhos, cookies, tempos e a cascata, e limpa-o antes de o partilhar. Nada é enviado.

Atenção: os ficheiros HAR contêm segredos. Um ficheiro HAR regista todos os pedidos com os respetivos cookies, tokens de autorização, dados de formulários (às vezes palavras-passe) e dados pessoais. Esta ferramenta lê-o apenas no teu navegador: nada é enviado. Antes de partilhares um ficheiro HAR com alguém, usa «Limpar e exportar» e verifica o resultado.

«Limpar e exportar» transfere uma cópia sem cookies, sem Authorization nem outros cabeçalhos de credenciais, e com os parâmetros de tokens, palavras-passe e chaves ocultados nos URLs, nos dados de formulários e nos corpos JSON. Revê-a antes de a partilhares: os URLs e os corpos das respostas podem continuar a conter dados pessoais.

Como abrir um ficheiro HAR

  1. Larga o teu ficheiro .har na zona de largar ou clica nela para escolher o ficheiro. Também podes colar o JSON em Ou cola o JSON do HAR e clicar em Abrir HAR. Para veres primeiro como o visualizador funciona, clica em Carregar um exemplo.
  2. O resumo mostra o número de Pedidos, o volume Transferido em bytes, o tamanho dos Recursos (descodificados), o momento de Fim do último pedido e o Evento load da página, quando o ficheiro o regista.
  3. Restringe a tabela com Filtrar URL (parte de um endereço ou um método como POST), Tipo (documento, script, folha de estilos, imagem, tipo de letra, XHR / Fetch, multimédia) e Estado (2xx, 3xx, 4xx, 5xx ou Falhados (sem resposta)). Quando o ficheiro contém várias páginas, aparece um filtro Página.
  4. Clica num URL para abrir os Detalhes do pedido: informações gerais, fases de tempo, cabeçalhos do pedido e da resposta, parâmetros da query string, cookies, o corpo do pedido e o corpo da resposta em texto simples.
  5. Antes de enviares o ficheiro a um colega ou a uma equipa de suporte, clica em Limpar e exportar para transferires uma cópia expurgada.

O que é um ficheiro HAR?

O HAR (HTTP Archive) é um formato JSON que regista o que um navegador carrega. O Chrome, o Edge, o Firefox e o Safari conseguem todos exportá-lo a partir do separador Rede das ferramentas de programador («Save all as HAR» ou equivalente). Cada entrada descreve um pedido: o método, o URL, os cabeçalhos e cookies do pedido, os dados enviados, o estado, os cabeçalhos e cookies da resposta, muitas vezes o corpo da resposta e a decomposição do tempo gasto. As equipas de suporte pedem ficheiros HAR porque mostram exatamente o que aconteceu na rede quando uma página estava lenta ou avariada.

A coluna Cascata desenha cada pedido numa linha temporal comum, dividida nas fases definidas pela especificação HAR 1.2: em fila/bloqueado, consulta DNS, ligação TCP, negociação TLS, envio, espera pelo primeiro byte (TTFB) e transferência. Uma barra de «Espera (TTFB)» longa aponta para um servidor lento; barras de DNS ou TLS longas apontam para o estabelecimento da ligação; muitos pedidos que começam tarde apontam para recursos que bloqueiam a renderização. Os pedidos a vermelho falharam ou devolveram um estado 4xx ou 5xx.

Porque é que os ficheiros HAR são sensíveis

Um ficheiro HAR é uma gravação completa da tua sessão. Costuma conter os teus cookies de sessão, cabeçalhos Authorization com tokens bearer, chaves de API em URLs, tokens CSRF e, às vezes, as palavras-passe e os dados pessoais que escreveste em formulários. Quem obtiver o ficheiro pode muitas vezes reutilizar esses cookies ou tokens para agir em teu nome até expirarem. É por isso que esta ferramenta nunca envia o ficheiro: é analisado e mostrado inteiramente no separador do teu navegador.

Limpar e exportar remove todos os cookies dos pedidos e das respostas, substitui por [REDACTED] os valores de Cookie, Set-Cookie, Authorization, Proxy-Authorization, X-Api-Key, dos cabeçalhos CSRF e de qualquer cabeçalho cujo nome contenha «token», «secret» ou «session», e oculta parâmetros como access_token, id_token, code, password, api_key, key ou signature nos URLs, nos dados de formulários e nos corpos JSON. A linha de estado diz-te quantos itens foram ocultados. A limpeza é uma rede de segurança, não uma garantia: nomes e endereços de email em URLs, páginas HTML e outros corpos de resposta são mantidos, por isso lê o ficheiro antes de o partilhares. Terminar a sessão depois de gravar um HAR também é boa prática.

Limites

Podem ser abertos ficheiros até 100 MB. A tabela lista os primeiros 2000 pedidos que correspondem aos filtros; usa os filtros para chegares aos outros. Os corpos com mais de 200 000 caracteres são cortados na vista de detalhes. Os corpos das respostas são sempre mostrados como texto: o HTML nunca é renderizado e as imagens nunca são apresentadas, e os corpos em Base64 só são descodificados quando o tipo de conteúdo é textual.

Perguntas frequentes

Como exporto um ficheiro HAR do meu navegador?

Abre as ferramentas de programador (F12), vai ao separador Rede, recarrega a página para gravar os pedidos e depois clica com o botão direito na lista de pedidos e escolhe «Save all as HAR» (Chrome, Edge), ou usa o botão de exportação (Firefox, Safari). Ativa «Preservar registo» se o problema acontecer ao longo de um redirecionamento.

O meu ficheiro HAR é enviado para algum lado?

Não. O ficheiro é lido e analisado por JavaScript no teu navegador e nada é enviado para um servidor. Isso é importante, porque o ficheiro pode conter os teus cookies e tokens.

«Limpar e exportar» torna um ficheiro HAR seguro para partilhar?

Remove as credenciais habituais: cookies, cabeçalhos de autorização, chaves de API e parâmetros de tokens ou palavras-passe. Não consegue reconhecer todos os segredos, por exemplo dados pessoais dentro de uma página HTML ou um campo com um nome personalizado, por isso revê o ficheiro transferido antes de o partilhares.

Porque é que o tamanho é diferente do que vejo no meu navegador?

Quando o ficheiro regista o tamanho transferido (_transferSize), é esse o valor mostrado. Caso contrário, usa-se o tamanho do corpo mais o dos cabeçalhos, ou o tamanho do conteúdo descodificado. As respostas comprimidas são, por isso, mais pequenas em Transferido do que em Recursos (descodificados).

Porque é que alguns pedidos mostram «falhou» e não têm tempos?

Um estado 0 significa que o navegador nunca recebeu resposta: o pedido foi bloqueado por uma extensão, cancelado, recusado por CORS ou falhou ao nível da rede. O texto do erro, quando o navegador o guardou, aparece nos detalhes.