回答:
さて、URLのどの部分がスキームであるかはわかっています。しかし、私の本当の質問は、それが何をするものでしたか?
URL のコロンの後の部分を解釈する方法を単に示します。
たとえば、ではfile://usr/share/doc
、file
コロンの後の部分がローカルで利用可能なファイルシステムパスとして解釈されるべきであることがわかります。トランスポート層やエンコーディングがないため、これはプロトコルと同一ではありません。クライアントは通常のローカルシステムコールを使用してアクセスするだけです。
逆にhttps://programmers.stackexchange.com
、プロトコル(https)を指定しますが、クライアントはそれに到達するために使用される物理的なトランスポートについて独自の選択を行う必要があります。
スキームは、使用されるアドレス指定システムを示します。URLは、実際にはさまざまな異なるアドレス指定システムを統合したものです。コロンの前の部分は使用中のスキームを識別し、コロンの後はすべてそのスキームに固有の構文です。各スキームは、リソースに対応する独自の方法を定義します。これにより、新しいスキームを追加することにより、URL標準が無限に拡張可能になります。
スキームは大きく異なるため、スキームについて一般的に言うことは困難です。多くの場合、スキームの名前はリソースの取得に使用できるプロトコルの名前(http、https、ftpなど)ですが、これは厳密な規則ではありません。「mailto」スキームは、電子メールアドレスを示しますが、特定のプロトコルは示しません。一部のスキームは、特定のプロトコルに対応しません。たとえば、Webブラウザーで使用される「about」スキームは、リソースがプロトコルを介してまったくフェッチされず、クライアントに組み込まれます。
URIのコロンの前の部分です。
例:のスキームはhttp://en.wikipedia.org/
ですhttp
。のスキームはfile:///etc/passwd
ですfile
。のスキームはftp://example.org/resource.txt
ですftp
。
Appleの説明が好きです。
URLスキームは、デバイスがURLを開くために使用するアプリケーションのタイプを指定するリンクの一部です。多くのアプリはURLスキームをサポートしています。FaceTimeは
facetime://
、Safariがで始まるURLを処理するように、URLスキームを使用して、URLが始まるときに呼び出しを行いますhttp://
。ショートカットのURLスキーム
shortcuts://
は、ショートカットからショートカットアプリを起動して、ショートカットのインポートや実行などのタスクを実行します。これらのリンクは、Webなど、URLを開くことをサポートする他のアプリでショートカットを使用する場合など、さまざまな状況で役立ちます。
urn:isbn:096139210x
ダブルスキームを使用していますか?これはjava docs:docs.oracle.com/javase/8/docs/api/java/net/URI.htmlから来ています。