Java の HttpURLConnection が HTTP から HTTPS へのリダイレクトに従わない: セキュリティ対策
Java の HttpURLConnection (HTTP サーバーとの接続を確立するために使用されるクラス) HTTP から HTTPS へのリダイレクトに関して独特の動作を示します。 URL。リダイレクトが従わないこの動作は、開発者にとって直感に反するように見えるかもしれません。
この動作の根本は、HttpURLConnection によって実装されるセキュリティ上の考慮事項にあります。リダイレクトは、同じプロトコルに準拠している場合にのみ実行されます。 HTTP から HTTPS へのリダイレクトの場合、プロトコルは異なり、このプロトコル検証チェックを無効にするメカニズムはありません。
HTTPS は、HTTP のミラーリングされたバージョンであるにもかかわらず、HTTP とは別のプロトコルとみなされます。視点。したがって、ユーザーの同意なしに HTTP から HTTPS にリダイレクトすることは安全でないとみなされます。
このセキュリティ対策は、潜在的な脆弱性から保護します。 HTTP 経由でクライアント認証を自動的に実行するアプリケーションを想像してください。ユーザーは匿名で閲覧することを期待しているかもしれませんが、プロンプトなしで HTTPS にリダイレクトすると、ユーザーの ID がサーバーに公開されてしまいます。
したがって、Java の HttpURLConnection は、不正アクセスを防止し保護するためのプロアクティブなセキュリティ対策としての HTTP から HTTPS へのリダイレクトに従いません。ユーザーのプライバシー。
以上がJava の HttpURLConnection が HTTP から HTTPS へのリダイレクトに従わないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。