Encontrei a próxima solução alternativa. Você pode escapar do redirecionamento após processar a POSTsolicitação manipulandohistory objeto.
Então você tem o formulário HTML:
<form method=POST action='/process.php'>
<input type=submit value=OK>
</form>
Quando você processa este formulário no servidor, em vez de redirecionar o usuário /the/result/page, configure o Locationcabeçalho da seguinte maneira:
$cat process.php
<?php
process POST data here
...
header('Location: /the/result/page');
exit();
?>

Após o processamento dos POSTdados editados, você torna pequeno <script>e o resultado/the/result/page
<?php
process POST data here
render the <script> // see below
render `/the/result/page` // OK
?>
O <script>que você deve render:
<script>
window.onload = function() {
history.replaceState("", "", "/the/result/page");
}
</script>
O resultado é:

como você pode ver, os dados do formulário são POSTeditados no process.phpscript.
Este script processou POSTdados e renderização de /the/result/pageuma só vez com:
- sem redirecionamento
- não há
POSTdados quando você atualiza a página (F5)
- não há
POSTquando você navega para a página anterior / seguinte através do histórico do navegador
UPD
Como outra solução, peço que o recurso solicite à equipe do Mozilla FireFox que permita aos usuários configurar o NextPagecabeçalho que funcionará como Locationcabeçalho e farápost/redirect/get padrão obsoleto.
Em resumo. Quando o processo do servidor forma POSTdados com êxito, ele:
- Configurar
NextPagecabeçalho em vez deLocation
- Renderize o resultado do processamento de
POSTdados do formulário como renderizaria para GETsolicitação no post/redirect/getpadrão
O navegador, por sua vez, quando vê o NextPagecabeçalho:
- Ajuste
window.locationcomNextPage valor
- Quando o usuário atualizar a página, o navegador negociará a
GETsolicitação em NextPagevez de reformular os POSTdados
Eu acho que isso seria excelente se implementado, não seria? =)