Java 的HttpURLConnection 無法遵循HTTP 到HTTPS 重定向:一種安全措施
Java 的HttpURLConnection,用於與HTTP 伺服器建立的類,當涉及從HTTP 重定向到HTTPS URL 時,表現出一種特殊的行為。這種不遵循重定向的行為對於開發人員來說可能看起來違反直覺。
這種行為的根源在於 HttpURLConnection 實現的安全考量。只有當它們遵循相同的協議時才會遵循重定向。在 HTTP 到 HTTPS 重定向的情況下,協定是不同的,並且沒有機制可以停用此協定驗證檢查。
HTTPS 儘管是 HTTP 的鏡像版本,但被認為是與 HTTP 不同的協定觀點。因此,未經使用者同意從 HTTP 重定向到 HTTPS 被認為是不安全的。
此安全措施可防止潛在的漏洞。想像一個透過 HTTP 自動執行客戶端身份驗證的應用程式。使用者可能希望匿名瀏覽,但自動重定向到 HTTPS 會將其身分暴露給伺服器。
因此,Java 的 HttpURLConnection 不會將 HTTP 到 HTTPS 重定向作為主動安全措施來防止未經授權的存取和保護用戶隱私。
以上是為什麼 Java 的 HttpURLConnection 不遵循 HTTP 到 HTTPS 重定向?的詳細內容。更多資訊請關注PHP中文網其他相關文章!