É seguro usar o redirecionamento permanente do status HTTP 308?

11

É seguro usar o código de status HTTP 308 Redirecionamento Permanente ( sugestão ) nas respostas do servidor? O problema com o 301 movido permanentemente é que ele funciona apenas com solicitações GET (para ser justo: o POST se transformará em GET, o que NÃO é uma opção).

O código de status é muito recente no "horário da RFC". O que você sugere?

O que um navegador faria se não tivesse conhecimento do 308? Encontraria a localização e faria 302?

burnersk
fonte
Mais novo do que você parece perceber; é uma RFC agora .
Michael Hampton
1
Você leu a seção Considerações sobre implantação ?
Håkan Lindqvist
308 não é um padrão - é uma proposta, ainda em fase experimental. Os navegadores devem voltar a uma interpretação 300 de qualquer erro 301-399 que eles não entendam especificamente.
Chris S
1
Em que cenário você esperaria receber uma solicitação POST enviada diretamente para um URL desatualizado?
Skyhawk
1
@Skyhawk: Eu trabalho com recursos offline "do" html5. Para comentários ou criação de novas postagens, o URL de destino pode ter sido alterado devido à modificação da própria postagem em suas categorias.
Burnsk

Respostas:

4

Embora o 308 agora seja um padrão ( https://tools.ietf.org/html/rfc7538 ), atualmente não é seguro [Editar] (a partir de 3 de abril de 2019), especialmente para aplicativos de desktop, mas pode ser quase seguro em alguns regiões específicas (por exemplo, Índia) ou para aplicativos direcionados a tablets e dispositivos móveis.

A falta de segurança ocorre porque o IE 11 no Windows 7 e 8.1 não o suporta. No IE 11, o site parece travar. Felizmente, o IE que acompanha o Windows 10 o suporta, portanto, será apenas um caso de espera até que a população geral saia do Windows 7 (o Win 7 acaba de ser superado pelo Win 10 nas estatísticas de uso global, o Win 8 é significativamente menos popular que ambos) [Edit] ou sua empresa decide deixar de dar suporte a ele (o que você pode defender muito a partir de 14 de janeiro de 2020 quando o Windows 7 perder ainda o suporte a longo prazo ).

Todos os outros navegadores modernos são compatíveis (Chrome, Firefox, Safari, Edge, Opera).

[Editar] Estatísticas de uso de março de 2019 para ajudar a tomar sua decisão:

  • 36,52% dos usuários de desktop ainda estão no Windows 7
  • 9,83% dos usuários de desktop estavam no IE; como o Win10 pressionou tanto o Edge, eu suponho que a maioria desses usuários esteja no Win 7. Ref netmarketshare

Portanto, uma decisão de usar o 308 afetaria provavelmente (minha estimativa de estimativa com base nas estatísticas acima) entre 5 e 9% dos usuários de desktops nesta edição (03/03/2019). Se seu aplicativo for mais voltado para tablets / dispositivos móveis, esse valor será significativamente menor. Da mesma forma, se o seu aplicativo for especificamente para o mercado indiano.

Você pode testar se o seu navegador suporta redirecionamentos 308 aqui: https://webdbg.com/test/308/

monty
fonte
Observe que isso é diferente de 307. O IE 11 no Windows 7 suporta HTTP 307 sem problemas. (Por quê?)
Franklin Yu
7

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

A proposta da RFC 7538 tem amplo suporte hoje. É seguro.

308 em vez de 301. 307 em vez de 302.

move! = redirecionar

Mover lembra um endereço específico e / ou arquivo movido. Redirecionar é um novo local ou endereço.

perroud
fonte
1
A partir de agora (20 de fevereiro de 2018) ainda não é seguro devido ao número de pessoas no Windows 7 usando o IE 11 que ainda não suporta isso.
Monty
@monty, qual foi esse número? O que é agora?
Robin Winslow
Em março de 2019, 36,52% dos usuários de desktop ainda estavam no Windows 7 e 9,83% dos usuários de desktop estavam no IE.
Monty
2

Para finalizar: Não, não é seguro usar esse código de status. Veja os comentários para obter detalhes.

308 não é um padrão - é uma proposta, ainda em fase experimental. Os navegadores devem voltar a uma interpretação 300 de qualquer erro 301-399 que eles não entendam especificamente.

Alguns navegadores simplesmente falham completamente nesse código de status.

burnersk
fonte
1
Esta resposta está desatualizada. Acredito que o RFC tenha sido e aceito disponível para uso em navegadores modernos developer.mozilla.org/en-US/docs/Web/HTTP/Status/308 . No entanto, se você precisar de suporte de navegadores antigos, isso ainda pode ser um problema!
Yahya Uddin
3
Ele não funciona no IE11 no Win8.1 e inferior (funciona no Win10).
Bart Verkoeijen 08/08/19
tools.ietf.org/html/rfc7538 "O Código de Status do Protocolo de Transferência de Hipertexto 308 (Redirecionamento Permanente)" publicado em abril de 2015.
Patrick Mevzek 19/06/19