Chrome introduziu esta “característica” de forma a evitar aos utilizadores a duplicação involuntária de acções POST em formulários, tais como comprar duas vezes o mesmo artigo.
Isto foi aparentemente corrigido há algum tempo atrás, utilizando o parâmetro -disable-prompt-on-repost
na invocação do Chrome, mas também foi quebrado em versões posteriores.
Apesar dos inúmeros relatórios de bugs Chrome relacionados, que permaneceram abertos durante anos (!), o bug ainda lá está. Aparentemente, o módulo Chrome que faz o back/forward está tão mal escrito que é quase impossível de corrigir. E ninguém ousa reescrevê-lo do zero.
Portanto, se não pode modificar a página que contém a operação POST, então está com azar e não há solução.
Se pode modificar a página, então tem duas soluções:
- Use GET em vez de POST
- Use o método Post/Redirect/Get com o código de resposta HTTP 303
Existe naturalmente a solução de usar outro browser que não o Chrome (mas isso não responde à pergunta).