Heim > Java > javaLernprogramm > Warum folgt Javas HttpURLConnection nicht Weiterleitungen zwischen HTTP und HTTPS?

Warum folgt Javas HttpURLConnection nicht Weiterleitungen zwischen HTTP und HTTPS?

DDD
Freigeben: 2024-12-06 16:22:16
Original
683 Leute haben es durchsucht

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

HTTPURLConnection-Umleitungen: Protokolleinschränkungen

Java's HttpURLConnection bietet eine bequeme Möglichkeit, HTTP-Anfragen zu senden, aber beim Umgang mit Weiterleitungen hält es sich an bestimmte Regeln. Eine solche Regel besagt, dass Weiterleitungen nur dann befolgt werden, wenn die Ziel-URL dasselbe Protokoll wie die ursprüngliche Anfrage verwendet.

Im gegebenen Beispiel ist die ursprüngliche URL eine HTTP-URL („http://httpsstat.us/ 301“) und die Weiterleitungs-URL eine HTTPS-URL („https://https://stat.us“) ist. Die HttpURLConnection folgt dieser Umleitung nicht, da HTTPS als ein anderes Protokoll als HTTP betrachtet wird. Dieses Verhalten ist in der Methode followRedirect() fest codiert und bietet keine Möglichkeit, diese Prüfung zu deaktivieren.

Diese Protokolleinschränkung ist auf Sicherheitsbedenken zurückzuführen. Während HTTPS oft als sichere Alternative zu HTTP angesehen wird, wird HTTPS aus der Perspektive des HTTP-Protokolls als separates und unbekanntes Protokoll behandelt. Das Zulassen unbestätigter Weiterleitungen zu HTTPS würde potenzielle Risiken mit sich bringen. Wenn beispielsweise die automatische Client-Authentifizierung konfiguriert ist und die anfängliche Anfrage HTTP-basiert ist, könnte die Identität des Clients versehentlich dem Server preisgegeben werden, wenn der Umleitung zu HTTPS blind gefolgt wird.

Das obige ist der detaillierte Inhalt vonWarum folgt Javas HttpURLConnection nicht Weiterleitungen zwischen HTTP und HTTPS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage