> Java > java지도 시간 > Java의 HttpURLConnection이 HTTP와 HTTPS 간의 리디렉션을 따르지 않는 이유는 무엇입니까?

Java의 HttpURLConnection이 HTTP와 HTTPS 간의 리디렉션을 따르지 않는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-06 16:22:16
원래의
680명이 탐색했습니다.

Why Doesn't Java's HttpURLConnection Follow Redirects Between HTTP and HTTPS?

HTTPURLConnection 리디렉션: 프로토콜 제한

Java의 HttpURLConnection은 HTTP 요청을 보내는 편리한 방법을 제공하지만 리디렉션을 처리할 때 특정 규칙을 준수합니다. 규칙. 그러한 규칙 중 하나는 대상 URL이 원래 요청과 동일한 프로토콜을 사용하는 경우에만 리디렉션을 따른다는 것입니다.

주어진 예에서 원래 URL은 HTTP URL("http://httpstat.us/ 301")이고 리디렉션 URL은 HTTPS URL("https://httpstat.us")입니다. HTTPS는 HTTP와 다른 프로토콜로 간주되므로 HttpURLConnection은 이 리디렉션을 따르지 않습니다. 이 동작은 followRedirect() 메서드에 하드코딩되어 있어 이 확인을 비활성화할 수 있는 방법을 제공하지 않습니다.

이 프로토콜 제한은 보안 문제에서 비롯됩니다. HTTPS는 종종 HTTP에 대한 안전한 대안으로 간주되지만, HTTP 프로토콜 관점에서 보면 HTTPS는 별도의 익숙하지 않은 프로토콜로 취급됩니다. 확인되지 않은 HTTPS로의 리디렉션을 허용하면 잠재적인 위험이 발생할 수 있습니다. 예를 들어, 자동 클라이언트 인증이 구성되고 초기 요청이 HTTP 기반인 경우 HTTPS로의 리디렉션이 맹목적으로 수행되면 클라이언트의 신원이 서버에 실수로 노출될 수 있습니다.

위 내용은 Java의 HttpURLConnection이 HTTP와 HTTPS 간의 리디렉션을 따르지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿