URIスキームとは何ですか?


18

この質問を検索しましたが、良い答えが見つかりませんでした。

URIに関するWikipediaの記事でさえ、完全に説明していません。Webページにアクセスするためのプロトコルだと思いました。たとえば、HTTP / HTTPS / FTPですが、wikiの記事ではそうではありません。

特定のプロトコル(「ファイル」など)に関連付けられていないURIスキームもあれば、プロトコル名を接頭辞(「ニュース」)として使用しないURIスキームもあります。

URLのどの部分スキームであるかを知っています。しかし、私の本当の質問は、それ何をするものでしたか?

回答:


17

さて、URLのどの部分がスキームであるかはわかっています。しかし、私の本当の質問は、それが何をするものでしたか?

URL のコロンの後の部分を解釈する方法を単に示します。

たとえば、ではfile://usr/share/docfileコロンの後の部分がローカルで利用可能なファイルシステムパスとして解釈されるべきであることがわかります。トランスポート層やエンコーディングがないため、これはプロトコルと同一ではありません。クライアントは通常のローカルシステムコールを使用してアクセスするだけです。

逆にhttps://programmers.stackexchange.com、プロトコル(https)を指定しますが、クライアントはそれに到達するために使用される物理的なトランスポートについて独自の選択を行う必要があります。


だからurn:isbn:096139210xダブルスキームを使用していますか?これはjava docs:docs.oracle.com/javase/8/docs/api/java/net/URI.htmlから来ています。
ニーニング

8

ウィキペディアからの引用は少し誤解を招くかもしれません。つまり、たとえばfile:URIスキームでは、データへのアクセスにどのような方法が使用されているか(またはそれが指しているものは何でも)は示されていません。ではhttp:、あなたは使用されているHTTPプロトコルが存在しているはず。でfile:、それは、アプリケーションが使用したいものは何でもです。

news:プロトコル名NNTPですが、名前はそれを反映していません。news:ずっと明確なので、これは私の心に良いことです。

したがって、URIスキームはコロンを含む最初の部分にすぎません。


1

スキームは、使用されるアドレス指定システムを示します。URLは、実際にはさまざまな異なるアドレス指定システムを統合したものです。コロンの前の部分は使用中のスキームを識別し、コロンの後はすべてそのスキームに固有の構文です。各スキームは、リソースに対応する独自の方法を定義します。これにより、新しいスキームを追加することにより、URL標準が無限に拡張可能になります。

スキームは大きく異なるため、スキームについて一般的に言うことは困難です。多くの場合、スキームの名前はリソースの取得に使用できるプロトコルの名前(http、https、ftpなど)ですが、これは厳密な規則ではありません。「mailto」スキームは、電子メールアドレスを示しますが、特定のプロトコルは示しません。一部のスキームは、特定のプロトコルに対応しません。たとえば、Webブラウザーで使用される「about」スキームは、リソースがプロトコルを介してまったくフェッチされず、クライアントに組み込まれます。


0

URIのコロンの前の部分です。

例:のスキームはhttp://en.wikipedia.org/ですhttp。のスキームはfile:///etc/passwdですfile。のスキームはftp://example.org/resource.txtですftp


0

スキームは、URIの最初の階層であり、したがって最も「目立つ」部分であり、リソースの「目的」を識別するために使用されます。リソース(Webリンク、ニュース、ファイル)の「種類」に興味がある場合は、リソース文字列全体ではなく、スキームをチェックするだけで判断できます。

これは、一連のリソースを表す単なる文字列です。


0

Appleの説明が好きです。

URLスキームは、デバイスがURLを開くために使用するアプリケーションのタイプ指定するリンクの一部です。多くのアプリはURLスキームをサポートしています。FaceTimeはfacetime://、Safariがで始まるURLを処理するように、URLスキームを使用して、URLが始まるときに呼び出しを行いますhttp://

ショートカットのURLスキームshortcuts://は、ショートカットからショートカットアプリを起動して、ショートカットのインポートや実行などのタスクを実行します。これらのリンクは、Webなど、URLを開くことをサポートする他のアプリでショートカットを使用する場合など、さまざまな状況で役立ちます。

ソース

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.