ネイティブ・イメージのURLプロトコル
ネイティブ・イメージのURLプロトコルは、次の3つのクラスに分けることができます:
- デフォルトでのサポートと有効化
- デフォルトでのサポートと無効化
- HTTPSサポート
デフォルトでサポートされ、有効化されているURLプロトコルは、生成されたすべてのネイティブ・バイナリに含まれます。現在、デフォルトでサポートされ、有効化されているURLプロトコルは、file
およびresource
のみです。
サポートされているものの、ネイティブ・バイナリのビルド時にデフォルトでは無効化されているURLプロトコルがあります。これらは、ビルド時にコマンドラインで--enable-url-protocols=<protocols>
オプションを使用することによって有効にする必要があります。このオプションでは、カンマ区切りのプロトコルのリストを指定できます。
プロトコルをオンデマンドで有効にする理由は、最小限のバイナリから始めて、必要に応じて機能を追加できることです。これにより、バイナリには使用する機能のみが含まれ、全体的なサイズを小さく保つことができます。現在、サポートされているものの、オンデマンドで有効にする必要があるURLプロトコルは、http
およびhttps
のみです。これらは、--enable-http
および--enable-https
コマンドライン・オプションを使用して有効にできます。
HTTPSサポート
https
URLプロトコルのサポートは、Java暗号化アーキテクチャ(JCA)フレームワークに依存します。したがって、https
を有効にすると、JCAが依存する可能性のある静的にリンクされたネイティブ・ライブラリなど、JCAで必要なコードが生成済バイナリに追加されます。詳細は、セキュリティ・サービスに関するドキュメントを参照してください。
その他のURLプロトコルは現在テストされていません。これらも--enable-url-protocols=<protocols>
を使用して有効にできますが、想定どおりに動作しない可能性があります。