HTTPURLConnection Tidak Mengikuti HTTP ke HTTPS Redirection
Dalam senario tertentu, pembangun menghadapi tingkah laku yang tidak dijangka di mana HTTPURLConnection Java gagal mengikuti ubah hala HTTP kepada HTTPS URL.
Sebab Isunya
Punca kelakuan ini terletak pada reka bentuk HTTPURLConnection. Secara lalai, ubah hala hanya diikuti jika ia mengekalkan protokol yang sama. Ini bermakna ubah hala daripada HTTP ke HTTPS tidak dikendalikan secara automatik oleh kelas.
Implikasi Keselamatan
Sekatan ini dikuatkuasakan kerana kebimbangan keselamatan. HTTPS, walaupun persamaannya dengan HTTP, secara teknikalnya dianggap sebagai protokol yang berbeza dari perspektif HTTP. Mengikuti ubah hala HTTPS tanpa kelulusan pengguna menimbulkan isu keselamatan, terutamanya dalam senario di mana pengesahan pelanggan dikonfigurasikan secara automatik untuk HTTP tetapi bukan HTTPS.
Penyelesaian
Malangnya, tiada pilihan untuk melumpuhkan semakan ini, dan dengan itu, HTTPURLConnection tidak boleh dibuat untuk mengikuti HTTP ke HTTPS ubah hala.
Penyelesaian
Untuk mengatasi had ini, pembangun boleh mengikut ubah hala secara manual dengan menghuraikan pengepala Lokasi dalam respons HTTP dan memulakan permintaan baharu kepada HTTPS URL. Sebagai alternatif, mereka boleh menggunakan perpustakaan atau rangka kerja yang menyokong ubah hala HTTP dan HTTPS.
Atas ialah kandungan terperinci Mengapa HTTPURLConnection Tidak Mengikuti HTTP ke HTTPS Redirects?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!