È sicuro utilizzare lo stato HTTP 308 Reindirizzamento permanente?


11

È sicuro utilizzare il codice di stato HTTP 308 Reindirizzamento permanente ( suggerimento ) nelle risposte del server? Il problema con 301 Spostato in modo permanente è che funziona solo con richieste GET (per essere onesti: POST si trasformerà in GET che NON è un'opzione).

Il codice di stato è molto nuovo in "ora RFC", quindi cosa suggeriresti?

Cosa farebbe un browser se non fosse a conoscenza di 308? Troverebbe la posizione e farebbe 302?


Più nuovo di quanto sembri realizzare; è un RFC ora .
Michael Hampton,

1
Hai letto la sezione Considerazioni sulla distribuzione ?
Håkan Lindqvist,

308 non è uno standard: è una proposta, ancora in fase sperimentale. I brower dovrebbero ricorrere a un'interpretazione di 300 di qualsiasi errore 301-399 che non comprendono specificamente.
Chris S,

1
In quale scenario ti aspetti di ricevere una richiesta POST inviata direttamente a un URL obsoleto?
Skyhawk,

1
@Skyhawk: lavoro con le funzionalità offline “di“ html5. Per i commenti o la creazione di nuovi post, l'URL di destinazione potrebbe essere cambiato a causa della modifica del post stesso nelle sue categorie.
Burnersk,

Risposte:


4

Sebbene 308 sia ora uno standard ( https://tools.ietf.org/html/rfc7538 ), non è attualmente sicuro [Modifica] (al 3 aprile 2019), in particolare per le applicazioni desktop, ma potrebbe essere quasi sicuro in alcuni regioni specifiche (ad es. India) o per applicazioni destinate a tablet e dispositivi mobili.

La mancanza di sicurezza è perché IE 11 su Windows 7 e 8.1 non lo supporta. In IE 11 il sito sembra bloccarsi. Fortunatamente l'IE fornito con Windows 10 lo supporta, quindi sarà solo un caso di attesa fino a quando il popolamento generale passerà da Windows 7 (Win 7 è stato appena superato da Win 10 nelle statistiche di utilizzo globale, Win 8 è significativamente meno popolare di entrambi) [Modifica] o la tua azienda decide di non supportarlo più (cosa che puoi fare per un caso molto forte dal 14 gennaio 2020 quando Windows 7 perde anche il supporto a lungo termine ).

Tutti gli altri browser moderni lo supportano (Chrome, Firefox, Safari, Edge, Opera).

[Modifica] Statistiche di utilizzo da marzo 2019 per prendere una decisione:

  • Il 36,52% degli utenti desktop è ancora su Windows 7
  • Il 9,83% degli utenti desktop era su Internet Explorer; dato che Win10 ha spinto Edge così tanto, suppongo che la maggior parte di questi utenti sia su Win 7. Ref netmarketshare

Quindi, una decisione di utilizzare 308 influirebbe probabilmente (il mio sospetto basato sulle statistiche sopra) tra il 5 e il 9% degli utenti desktop a partire da questa modifica (3/4/2019). Se la tua applicazione è più orientata verso tablet / dispositivi mobili, questo valore sarà significativamente inferiore. Allo stesso modo se la tua app è specifica per il mercato indiano.

Puoi verificare se il tuo browser supporta 308 reindirizzamenti qui: https://webdbg.com/test/308/


Si noti che questo è diverso da 307. IE 11 su Windows 7 supporta HTTP 307 senza problemi. (Perché?)
Franklin Yu,

7

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

La proposta RFC 7538 ha un ampio supporto oggi. É sicuro.

308 invece 301. 307 invece 302.

move! = reindirizzamento

Sposta ricorda un indirizzo specifico e / o il file spostato. Il reindirizzamento è una nuova posizione o indirizzo.


1
A partire da ora (20 febbraio 2018) non è ancora sicuro a causa del numero di persone su Windows 7 che utilizzano IE 11 che non supporta ancora questo.
monty,

@monty qual era quel numero? cos'è ora?
Robin Winslow,

A marzo 2019, il 36,52% degli utenti desktop era ancora su Windows 7 e il 9,83% degli utenti desktop era su Internet Explorer.
monty,

2

Per finire: No non è sicuro usare quel codice di stato. Vedi i commenti per i dettagli.

308 non è uno standard: è una proposta, ancora in fase sperimentale. I brower dovrebbero ricorrere a un'interpretazione di 300 di qualsiasi errore 301-399 che non comprendono specificamente.

Alcuni browser falliscono completamente su quel codice di stato.


1
Questa risposta non è aggiornata. Credo che la RFC sia stata e accettata per l'uso nei moderni browser developer.mozilla.org/en-US/docs/Web/HTTP/Status/308 . Tuttavia, se hai bisogno di supporto da browser più vecchi, questo potrebbe essere ancora un problema!
Yahya Uddin

3
Non funziona in IE11 su Win8.1 e versioni precedenti (funziona su Win10).
Bart Verkoeijen,

tools.ietf.org/html/rfc7538 "Codice di stato del protocollo di trasferimento ipertestuale 308 (reindirizzamento permanente)" pubblicato nell'aprile 2015.
Patrick Mevzek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.