Rumah > Java > javaTutorial > Mengapa HttpURLConnection Java Gagal Mengikuti HTTP ke HTTPS Redirects?

Mengapa HttpURLConnection Java Gagal Mengikuti HTTP ke HTTPS Redirects?

DDD
Lepaskan: 2024-12-06 21:28:17
asal
475 orang telah melayarinya

Why Does Java's HttpURLConnection Fail to Follow HTTP to HTTPS Redirects?

Pengalihan HTTP dari HTTP ke HTTPS Menyebabkan Kegagalan Sambungan

Apabila cuba mengikuti ubah hala dari HTTP ke HTTPS menggunakan HttpURLConnection Java, ia mungkin secara tidak dijangka gagal. Isu ini timbul kerana kaedah followRedirect() HttpURLConnection hanya mengikut ubah hala dalam protokol yang sama.

Dalam kod yang disediakan, permintaan dibuat kepada "http://httpstat.us/301," yang mengembalikan 301 Moved Respons kekal yang menunjukkan ubah hala ke versi HTTPS URL. Walau bagaimanapun, HttpURLConnection tidak mengikut ubah hala ini.

Mengapa ini berlaku? HTTP dan HTTPS dianggap sebagai protokol berasingan oleh spesifikasi protokol HTTP. Walaupun HTTPS sangat mencerminkan HTTP, ia tidak mempunyai pengiktirafan rasmi dalam rangka kerja HTTP. Akibatnya, HttpURLConnection, tanpa konfigurasi tambahan, direka bentuk untuk menganggap HTTPS sebagai protokol yang berbeza atas sebab keselamatan.

Mengikuti ubah hala antara HTTP dan HTTPS tanpa kebenaran pengguna boleh menimbulkan risiko keselamatan. Sebagai contoh, pengesahan pelanggan mungkin didayakan secara automatik untuk sambungan HTTP, tetapi pengguna mungkin berhasrat untuk menyemak imbas tanpa nama. Jika sambungan mengikut ubah hala HTTPS secara automatik, identiti pengguna boleh didedahkan kepada pelayan secara tidak sengaja.

Oleh itu, untuk mengekalkan keselamatan, HttpURLConnection tidak mengikut ubah hala daripada HTTP ke HTTPS secara lalai. Tingkah laku ini tidak boleh dilumpuhkan dan adalah penting untuk mengetahui had ini apabila bekerja dengan ubah hala HTTP dalam program Java.

Atas ialah kandungan terperinci Mengapa HttpURLConnection Java Gagal Mengikuti HTTP ke HTTPS Redirects?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan