Apakah aman menggunakan status HTTP 308 Permanent Redirect?

11

Apakah aman menggunakan kode status HTTP 308 Pengalihan Permanen ( saran ) dalam respons server? Masalah dengan 301 Moved Permanently adalah bahwa ia hanya berfungsi dengan permintaan GET (agar adil: POST akan berubah menjadi GET yang BUKAN pilihan).

Kode status sangat baru di "waktu RFC" jadi apa yang akan Anda sarankan?

Apa yang akan dilakukan browser jika tidak mengetahui adanya 308? Apakah akan menemukan lokasi dan melakukan 302?

burnersk
sumber
Lebih baru daripada yang tampaknya Anda sadari; ini adalah RFC sekarang .
Michael Hampton
1
Apakah Anda membaca bagian Pertimbangan Penerapan ?
Håkan Lindqvist
308 bukan standar - ini adalah proposal, masih dalam tahap percobaan. Browser harus kembali ke 300 interpretasi dari setiap kesalahan 301-399 yang mereka tidak mengerti secara spesifik.
Chris S
1
Dalam skenario apa Anda berharap menerima permintaan POST yang dikirim langsung ke URL yang sudah usang?
Skyhawk
1
@Skyhawk: Saya bekerja dengan fitur offline “of“ html5. Untuk komentar atau membuat posting baru, url target mungkin telah berubah karena modifikasi pada posting itu sendiri keluar kategorinya.
burnersk

Jawaban:

4

Meskipun 308 sekarang menjadi standar ( https://tools.ietf.org/html/rfc7538 ), saat ini tidak aman [Edit] (per 3 April 2019), terutama untuk aplikasi desktop, tetapi mungkin hampir aman di beberapa wilayah tertentu (misalnya India), atau untuk aplikasi yang ditargetkan untuk tablet dan perangkat seluler.

Kurangnya keamanan karena IE 11 pada Windows 7 dan 8.1 tidak mendukungnya. Di IE 11 situs tersebut sepertinya hang. Untungnya IE yang disertakan bersama Windows 10 mendukungnya, jadi itu hanya masalah menunggu sampai perpindahan penduduk yang umum dari Windows 7 (Win 7 baru saja dilampaui oleh Win 10 dalam statistik penggunaan global, Win 8 secara signifikan kurang populer dari keduanya) [Sunting] atau perusahaan Anda membuat keputusan untuk tidak lagi mendukungnya (yang dapat Anda buat menjadi alasan yang sangat kuat sejak 14 Januari 2020 ketika Windows 7 kehilangan bahkan dukungan jangka panjang ).

Semua browser modern lainnya mendukungnya (Chrome, Firefox, Safari, Edge, Opera).

[Sunting] Statistik penggunaan mulai Maret 2019 untuk membantu membuat keputusan Anda:

  • 36,52% pengguna desktop masih menggunakan Windows 7
  • 9,83% pengguna desktop menggunakan IE; sebagai Win10 mendorong Edge begitu banyak, saya menganggap sebagian besar pengguna berada di Win 7. Ref netmarketshare

Jadi, keputusan untuk menggunakan 308 akan memengaruhi mungkin (perkiraan saya berdasarkan statistik di atas) antara 5 dan 9% pengguna desktop pada pengeditan ini (3/4/2019). Jika aplikasi Anda diarahkan lebih ke tablet / perangkat seluler, nilai ini akan jauh lebih rendah. Demikian pula jika aplikasi Anda khusus untuk pasar India.

Anda dapat menguji apakah browser Anda mendukung 308 pengalihan di sini: https://webdbg.com/test/308/

monty
sumber
Perhatikan bahwa ini berbeda dari 307. IE 11 pada Windows 7 mendukung HTTP 307 tanpa masalah. (Kenapa?)
Franklin Yu
7

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

Proposal RFC 7538 mendapat dukungan luas hari ini. Itu aman.

308 sebagai ganti 301. 307 sebagai ganti 302.

pindah! = redirect

Pindahkan mengingatkan alamat tertentu dan / atau file dipindahkan. Redirect adalah lokasi atau alamat baru.

perroud
sumber
1
Sampai sekarang (20 Feb 2018) belum aman karena jumlah orang di Windows 7 menggunakan IE 11 yang masih belum mendukung ini.
monty
@monty berapa nomor itu? apa itu sekarang?
Robin Winslow
Pada Maret 2019, 36,52% pengguna desktop masih menggunakan Windows 7, dan 9,83% pengguna desktop menggunakan IE.
monty
2

Untuk mengakhiri ini: Tidak, tidak aman untuk menggunakan kode status itu. Lihat komentar untuk detailnya.

308 bukan standar - ini adalah proposal, masih dalam tahap percobaan. Browser harus kembali ke 300 interpretasi dari setiap kesalahan 301-399 yang mereka tidak mengerti secara spesifik.

Beberapa browser gagal sepenuhnya pada kode status itu.

burnersk
sumber
1
Jawaban ini sudah usang. Saya percaya RFC telah dan diterima tersedia untuk digunakan di seluruh browser modern developer.mozilla.org/en-US/docs/Web/HTTP/Status/308 . Namun, jika Anda memerlukan dukungan dari browser lama, ini mungkin masih menjadi masalah!
Yahya Uddin
3
Ini tidak bekerja di IE11 pada Win8.1 dan lebih rendah (ini berfungsi pada Win10).
Bart Verkoeijen
tools.ietf.org/html/rfc7538 "Kode Status Protokol Transfer Hiperteks 308 (Pengalihan Permanen)" diterbitkan pada April 2015.
Patrick Mevzek