new URL ("http://www.example.com:-1/index.html")
のような無効な URL インスタンスを作成できました。ポート番号に -1
を指定することは有効ではありません。しかし、以前のリリースでは、このような URL を HTTP コマンドで送信する際に、-1
が削除されていました。1.4.2 では、-1
が URL に残るため、一部の HTTP サーバーやプロキシで問題となる可能性があります。アプリケーションでポート番号が -1
の URL インスタンスを作成しないでください。この例では、-1
はデフォルトポートを参照すると仮定していますが、この URL を作成するには、new URL ("http://www.example.com/index.html")
が正しい方法です。この注意は、単一の引数による URL コンストラクタにだけ適用されます。1.4 では修正され、サーバーからの http エラーではすべて IOException がスローされ、リソースが見つからないとき (つまり、応答コードが 404 または 410 の場合) に、専用の例外 FileNotFoundExeption をスローします。この例外は、ファイルタイプに関係なくスローされます。
アプリケーションで、サーバーから http エラーが返されたときに例外がスローされないことを想定していた場合、そのようなアプリケーションは 1.4 でのこの変更を認識する必要があります。4160499 を参照してください。
この問題に関連して、http エラーがサーバーから返されたときに http サーバーからエラーページを読み取るために、HttpURLConnection.getErrorStream() メソッドを使えるようになりました。これまでの getErrorStream() は、常に null を返していました。
アプリケーションで、toString() が解決されたホスト名の文字列を返すことを前提としている場合、1.4 でこの変更がなされたことに注意してください。4239141 を参照してください。
後続の検索が常に失敗するという動作を前提としたアプリケーションでは、この問題に注意する必要があります。4256129 を参照してください。また、ネガティブ検索をキャッシュするかどうかは、java.security ファイルの networkaddress.cache.negative.ttl プロパティーで制御できます。
PortUnreachableException に関する既知の問題を次に示します。
DHCP と動的 DNS を併用している場合は、2 つのオプションがあります。(i) /etc/nsswitch.conf でネームサービスの検索順序を変更し、hosts ファイル (「hosts: DNS ファイル」) の前に DNS を使用してください。または (ii) デフォルトのプロバイダの代わりに DNS ネームサービスプロバイダを使用するように、InetAddress を構成してください (-Dsun.net.spi.nameservice.provider.1=dns,sun)。この問題は 4665037 で確認できます。