スキーム名 (スキームメイ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

スキーム名 (スキームメイ) の読み方

日本語表記

スキーマ名 (スキーマメイ)

英語表記

scheme name (スキームネーム)

スキーム名 (スキームメイ) の意味や用語解説

スキーム名とは、URIやURLの構成要素の一つであり、リソースを識別またはアクセスするための方法や規約を定義する文字列である。一般的に、ウェブブラウザのアドレスバーに入力するURLの先頭部分、例えば「https://www.example.com」における「https」がスキーム名に該当する。このスキーム名によって、コンピュータは指定されたリソースに対して、どのようなプロトコル(通信規約)を用いて、あるいはどのような方法でアクセスすればよいかを判断する。スキーム名は、インターネット上のリソースだけでなく、コンピュータ内のファイルや特定のアプリケーションの機能を呼び出す際にも利用されるため、システム開発の様々な場面で重要な役割を担う。 スキーム名をより深く理解するためには、まずURIとの関係性を把握する必要がある。URI(Uniform Resource Identifier)は、インターネット上に存在するリソースを一意に識別するための統一的な書式であり、その構文は一般的に「スキーム名:スキームに固有な部分」という形式で定義される。スキーム名の直後には必ずコロン(:)が置かれるのがルールである。我々が日常的に利用するURL(Uniform Resource Locator)は、リソースの場所を示すものであり、このURIの一種である。スキーム名は、URI全体の解釈方法を決定づける最も基本的な要素であり、後続する文字列がどのような意味を持つのかを定義する。 スキーム名の最も代表的な役割は、通信プロトコルを指定することである。例えば、「http」はHypertext Transfer Protocolを意味し、暗号化されていない平文でWebサーバーと通信することを示す。「https」はHTTP Secureの略であり、SSL/TLSによって通信が暗号化されることを示す。同様に、「ftp」はFile Transfer Protocol、「smtp」はSimple Mail Transfer Protocol、「mailto」は電子メールクライアントを起動してメールを作成するためのスキームである。これらのスキーム名は、ネットワークを介したコンピュータ間の通信方法を明確に定義し、異なるシステム間での円滑なデータ交換を可能にする。 しかし、スキーム名の役割は通信プロトコルの指定だけにとどまらない。リソースへのアクセス方法そのものを定義する場合もある。「file」スキームは、ネットワーク越しのリソースではなく、そのコンピュータのローカルファイルシステム上にあるファイルへのアクセスを示す。また、「data」スキームは、リソースの場所を示すのではなく、リソースのデータそのものをURI内に直接埋め込むために使用される。これにより、外部ファイルを用意することなく、小さな画像などをHTML内に直接記述することが可能になる。さらに、「tel」スキームは電話番号を示し、クリックするとデバイスの電話発信機能を呼び出す。「sms」スキームも同様にSMSメッセージの送信アプリケーションを起動する。 スキーム名は、その管理方法によっていくつかの種類に分類される。一つは、IANA(Internet Assigned Numbers Authority)という組織によって公式に登録・管理されているものである。httpやftpなどの標準的なスキームはここに登録されており、世界中で共通の仕様として利用されることで、高い相互運用性が保証されている。二つ目は、公式には登録されていないものの、特定のコミュニティやソフトウェアで広く利用され、事実上の標準となっている非公式なスキームである。バージョン管理システムで使われる「git」や「svn」などがこれにあたる。三つ目は、特定のアプリケーションやシステム内でのみ利用される、プライベートなカスタムスキームである。特にスマートフォンアプリ開発において、特定のアプリを起動したり、アプリ内の特定画面に直接遷移させたりする「ディープリンク」を実現するために、独自のスキーム名(例:「myapp://screen/123」)が定義されることが頻繁にある。 スキーム名の命名には一定の規則が存在する。RFC 3986の規定によれば、スキーム名はアルファベットで始まらなければならず、以降はアルファベット、数字、プラス記号(+)、ハイフン(-)、ピリオド(.)の文字で構成される。大文字と小文字は区別されないが、慣例としてすべて小文字で記述されるのが一般的である。 システムエンジニアにとって、スキーム名の理解は極めて重要である。Web APIの設計においてエンドポイントのURLを定義する際、Webアプリケーションとモバイルアプリケーションを連携させる際、あるいはマイクロサービスアーキテクチャでサービス間の通信方法を定義する際など、スキームに関する知識はシステム全体の設計と実装の根幹に関わる。また、セキュリティの観点からも注意が必要である。例えば、「javascript:」というスキームは、任意のJavaScriptコードを実行させることが可能なため、ユーザーからの入力を適切に処理しないと、クロスサイトスクリプティング(XSS)のような脆弱性を生む原因となり得る。このように、スキーム名は単なるURLの接頭辞ではなく、リソースの性質とアクセス方法を規定し、システムの動作やセキュリティに深く関わる、ITの基礎となる重要な概念である。

スキーム名 (スキームメイ) とは | 意味や読み方など丁寧でわかりやすい用語解説