A mensagem "Confirmar reenvio do formulário" geralmente não indica uma falha do navegador. Ela aparece quando você tenta recarregar uma página acessada por meio do envio de dados com uma requisição HTTP POST. Repetir essa requisição poderia repetir a ação também, por isso o navegador solicita confirmação antes de enviar o formulário novamente. Isso é importante para formulários de contato, comentários, compras, pagamentos, alterações de conta e qualquer outra ação que não deva ser executada duas vezes acidentalmente.

Se você for um visitante, a solução mais segura geralmente é evitar atualizar a página de resultados, confirmar se o envio já foi concluído com sucesso e retornar ao formulário original pelo site, em vez de forçar uma atualização da página. Se você for o proprietário do site, a solução definitiva é redirecionar as solicitações POST bem-sucedidas para uma página GET normal.
O que causa a solicitação de reenvio do formulário de confirmação?
Um formulário HTML tradicional pode enviar dados com os métodos GET ou POST. O método POST coloca os dados enviados no corpo da requisição e é comumente usado quando uma requisição cria ou altera algo. Se o servidor responder diretamente a esse POST com a página que você está visualizando, atualizar a página significa repetir o mesmo POST. Portanto, o navegador avisa antes de reenviá-lo.
Isso é diferente de um simples erro de conexão. O aviso pode aparecer mesmo quando o primeiro envio funcionou perfeitamente. Antes de reenviar um pedido, pagamento, reserva, comentário ou solicitação de suporte, verifique se há uma página de confirmação, recibo por e-mail, histórico da conta ou outro sinal de que a primeira solicitação já foi concluída.
Como corrigir isso sendo um visitante do site
1. Cancele a recarga e abra o formulário novamente.
Se o aviso aparecer imediatamente após clicar em Atualizar, escolha Cancelar em vez de continuar automaticamente. Abra o site pelo menu, página inicial, favoritos ou em uma nova aba e volte ao formulário. Isso evita que a solicitação POST anterior seja reproduzida deliberadamente.
Para mensagens ou aplicativos longos, copie todo o texto que ainda tiver digitado antes de sair do site. Um site pode não restaurar o que você digitou após a troca de sessão.

2. Verifique se o envio original já foi concluído com sucesso.
Faça isso antes de inserir as mesmas informações novamente. Um segundo envio POST pode criar comentários, ingressos, reservas ou cobranças duplicadas se o site não proteger contra duplicatas. Se você não tiver certeza se uma transação de alto valor foi concluída com sucesso, use o histórico de pedidos do site ou entre em contato com a equipe de suporte em vez de clicar repetidamente em Enviar.
3. Limpe os dados do site somente se o formulário estiver realmente travado.
Cookies corrompidos ou desatualizados e arquivos em cache podem fazer com que alguns sites entrem em loop, percam a sessão ou carreguem uma página antiga. Limpar os dados pode ajudar nesses casos, mas não é necessário apenas porque você atualizou o resultado de uma requisição POST.
No Chrome em um computador, abra o menu de três pontos e escolha "Excluir dados de navegação" . O Google descreve as opções disponíveis, incluindo cookies/dados de sites e imagens/arquivos em cache, em seu guia de dados de navegação do Chrome . Limpar os cookies pode desconectá-lo de sites, portanto, use a opção mais específica que resolva o problema.

No Firefox, você pode limpar os dados do site atual clicando no ícone à esquerda da barra de endereço e selecionando " Limpar cookies e dados do site" . As instruções da Mozilla para limpar os dados do site no Firefox também explicam como remover os dados de um site específico ou de todos os sites.
4. Desative temporariamente as extensões se o problema ocorrer inesperadamente.
Se um formulário falhar repetidamente sem que você o atualize, teste extensões que alteram páginas ou tráfego de rede, como bloqueadores de conteúdo, ferramentas de privacidade, gerenciadores de scripts, extensões de VPN/proxy ou auxiliares de formulário. No Chrome, acesse Mais > Extensões > Gerenciar extensões e desative temporariamente as extensões suspeitas; o guia de gerenciamento de extensões do Google documenta os controles atuais.

No Firefox, abra Menu > Complementos e temas > Extensões e desative as extensões uma de cada vez. A Mozilla também fornece instruções oficiais para desativar complementos do Firefox . Reative tudo o que não estiver relacionado ao problema.
Se o aviso aparecer apenas em um site
Se outros sites funcionam normalmente e este aviso continua a aparecer após o envio de um formulário específico, o problema provavelmente está no fluxo de formulários do site. Trocar de navegador pode mascarar o sintoma em alguns casos, mas não corrige o histórico POST subjacente. Evite envios repetidos e, se necessário, reporte o problema ao proprietário do site.
Proprietários de sites: usem POST/Redirect/GET
A maneira padrão de impedir que o envio bem-sucedido de um formulário se torne a página POST atual do navegador é o padrão POST/Redirecionamento/GET . O POST é processado no servidor e, em seguida, um redirecionamento é retornado para uma URL de confirmação separada. Uma resposta 303 See Other instrui especificamente o navegador a recuperar o recurso redirecionado com um GET. O MDN observa que esse padrão permite que o cliente visualize uma confirmação após o POST sem que a atualização da página repita a operação original.
POST /contact
HTTP/1.1 303 See Other
Location: /contact/thanks
GET /contact/thanks
Consulte a referência MDN 303 "Ver Outro" e seu guia de redirecionamento HTTP para obter informações sobre o comportamento de mudança de método. Não use um redirecionamento 307 para essa finalidade quando desejar que a solicitação subsequente se torne um GET, pois o redirecionamento 307 preserva o método e o corpo originais.
Não altere todos os formulários POST para GET apenas para suprimir o aviso. O método GET destina-se à recuperação de dados e inclui os valores do formulário na URL quando usado por um formulário HTML; não é apropriado para senhas ou ações que alteram o estado do servidor. A documentação de envio de formulários da MDN explica as diferenças práticas entre GET e POST.
O JavaScript fetch()pode enviar um formulário sem uma navegação de página inteira, mas o servidor ainda deve proteger operações importantes contra solicitações duplicadas acidentais. Para formulários convencionais com várias páginas, POST/Redirect/GET continua sendo a solução mais clara para o aviso de atualização.