< 戻る

Webサイト制作のための「通信プロトコル」と「URL」

参考:Telecommunications - Wikipedia

参考:Protocol - Wikipedia

通信プロトコル」とは、「通信」、特に「電気通信」を行うための「プロトコル」である。「電気通信」における「プロトコル」とは、データの送信側と受信側で合意しておくべき共通の手順であり、これにより「通信」が成立する。

最も有名な「通信プロトコル」のまとまりは、「インターネットプロトコルスイート(別名:TCP/IP)」である。

ここでは、Webサイトに強く関係する「通信プロトコル」のみを扱う。

URL」とは、ファイルやディレクトリの場所を示す記述方式であり、「DNS(Domain Name System)」というシステム及び「通信プロトコル」と深い関わりを持つ。

目次
  1. Webサイトに関するURL
  2. Webサイトに関する通信プロトコル

公式サイト:URL Standard - WHATWG

参考:What is a URL? - Learn web development | MDN

参考:URL - Wikipedia

URL(Uniform Resource Locator)」とは、「ファイル」や「ディレクトリ」の場所を示す記述方式である。「URL」は、「HTML」、「HTTP」と並ぶ「World Wide Web(WWW)」の3つの重要な技術である。

1-1. 「URL」の基本的な構造

「URL」の基本的な構造は以下のようになっている。

基本的なURLの構造(https)
Scheme://Host:PortPath?Query#Fragment
httpsexample.com指定なし(指定しない場合は、URIスキームのデフォルトのポート番号)/directory/index.htmlq=textid_attribute
https://example.com/directory/index.html?q=text#id_attribute

1-2. URLのスキーム(URI scheme)

URIスキームとは、リソースに関する情報(場所や名前など)を特定の記法に基づいた1つの文字列で表した識別子。

参考:List of URI schemes - Wikipedia

「URL」, 「URI」, 「URN」, 「IRI」の違いとその扱いには、様々な立場からそれぞれの見解がある。

URL, URI, IRIの違いについて参考:Uniform Resource Identifier - Wikipedia#URLs_and_URNs
参考:https://url.spec.whatwg.org/#goals

Webサイト」及び「Webブラウザー」と深いかかわりを持つ「URIスキーム」には、特に「http(https)」、「about」、「file」、「data」、「view-source」の5つが挙げられる。

1-2-1. http(https)

"http"とは、「HTTP(Hypertext Transfer Protocol)」という「通信プロトコル」のURIスキームである。

HTTP(Hypertext Transfer Protocol)」とは、「ハイパーテキスト」システムを構築するために、(クライアント・サーバーモデルとして機能している)インターネット上でファイル(Webリソース)をやり取りするための通信プロトコルである。

しかし、HTTPではデータが暗号化されていないため、セキュリティ面で脆弱である。そのため、HTTPにSecureの要素を加え拡張した「HTTPS(Hypertext Transfer Protocol Secure)」を使用する"https"が主流となっている。

暗号化通信には、「SSL」もしくは「TLS」というコンピューターセキュリティのための通信プロトコルを用いる。

https://example.com/

参考:HTTP - MDN

参考:Hypertext Transfer Protocol - Wikipedia

参考:HTTPS - Wikipedia

httpとhttpsの違い(参考:HTTPS - Wikipedia#Difference_from_HTTP

参考:Web resource - Wikipedia

1-2-2. about

"about"とは、アプリケーションソフトウェア(ここではWebブラウザー)の内部情報を示す内部URIスキーム(internal URI scheme)である。

Webブラウザーでの最も一般的な実装は、空白のHTMLドキュメント(blank HTML document)を示す「about:blank」である。

about:blank

参考:About URI scheme - Wikipedia

1-2-3. file

"file"とは、自身のコンピュータからアクセス可能なファイルシステム内のファイルを取得するためのURIスキームである。

正式なfile URIの形式は、「file://host/path」である。host部分が省略された場合(file:///path)は、自動的に「file://localhost/path」であると解釈される。

file:///directory/index.html

参考:File URI scheme - Wikipedia

1-2-4. data

"data"とは、テキストファイルや画像ファイルなどを、データとして直接埋め込むような形で、文字列として記述するためのURIスキームである。

適切な場面で扱うことによって、ページ表示速度の向上が期待でき、通信速度の影響を受けやすいスマートフォンなどのモバイル端末を利用するユーザーが多い現在では、重要な技術である。

<img src="data:image/png;base64,iVBORw0KGgoAAA ANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 //8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU 5ErkJggg==">

参考:Data URI scheme - Wikipedia

参考:Data URLs - HTTP - MDN

1-2-5. view-source

"view-source"とは、Webページのソースコードを表示するURIスキームである。

例として、「view-source:https://example.com」というURLでは、「https://example.com」のソースコードが表示される。コンテキスト(右クリック)メニューの「ページのソース表示」は、そのWebページのソースコードを表示できる。

view-source:https://example.com/

参考:View-source URI scheme - Wikipedia


1-3. URLのホスト(Host)

参考:URL Standard#3.1. Host representation

参考:Host (network) - Wikipedia

URLにおけるホストとは、IPアドレスやドメイン名のことを指す。


1-4. URLのポート(Port)

参考:Port_(computer_networking) - Wikipedia

ポート(Port)とは、通信の用途や目的によって指定することができるものであり、割り振られた番号はポート番号と呼ばれる。

1-4-1. URIスキームにおけるデフォルトのポート番号

参考:URL Standard#4.2. URL miscellaneous

URLのスキーム"ftp""http""https"
デフォルトの
ポート番号
2180443

1-5. URLのパス(Path)

参考:Path (computing) - Wikipedia

参考:File system - Wikipedia

パス(Path)とは、経路を意味し、ファイルシステムの「ディレクトリ」構造における階層の場所を意味する。

コンピューターの中のディレクトリやファイルの場所である。

ディレクトリ(Directory)とは参考:File system - Wikipedia#Directories
参考:Directory (computing) - Wikipedia


1-6. URLのクエリ(Query)

参考:Query string - Wikipedia

クエリ(Query)とは、Webサーバーとやり取りするためのクエリ文字列である。


1-7. URLのフラグメント(Fragment)

参考:URI fragment - Wikipedia

フラグメント(Fragment)とは、Webページ内の任意の場所に移動するためのid属性を用いた指定である。

2. Webサイトに関する「通信プロトコル」

参考:Communication protocol - Wikipedia

参考:Computer network - Wikipedia#Communication_protocols

2-1. インターネットプロトコルスイート

参考:Internet Protocol Suite - Wikipedia

2-1-1. インターネットプロトコルスイート(1. アプリケーションレイヤー)の特徴的な通信プロトコル

参考:Application layer - Wikipedia

SSL/TLSSSH
FTPFTPS(FTP-SSL)SFTP(SSH File Transfer Protocol)
HTTPHTTPS(Hypertext Transfer Protocol Secure)
DNS

2-1-2. インターネットプロトコルスイート(2. トランスポートレイヤーと3. インターネットレイヤー)の特徴的な通信プロトコル

参考:Transport layer - Wikipedia

参考:Internet layer - Wikipedia

TCP/IPTCP(トランスポートレイヤー)
IP(インターネットレイヤー)

2-1-3. インターネットプロトコルスイート(4. リンクレイヤー)の特徴的な通信プロトコル

参考:Link layer - Wikipedia

MAC

2-2. 「OSIモデル」とTCP/IPモデルとの違い

参考:OSI model - Wikipedia

OSIモデル」とは、「通信プロトコル」を7層(レイヤー)に分けて運用するモデルであり、「TCP/IP」モデルとは、「通信プロトコル」を4層(レイヤー)に分けて運用するモデルである。

「OSIモデル」は、既に「インターネット」で使用されていた「TCP/IP」モデルに代わって標準化を目指したモデルであったが、既に「デファクトスタンダード」として定着したTCP/IPモデルにとって代わることはなく、現在は「通信プロトコル」やネットワーク構造の理解を助けるために用いられる。

TCP/IPモデルとも呼ばれるインターネットプロトコルスイート参考:Internet protocol suite - Wikipedia
デファクトスタンダード(事実上の標準)参考:De facto standard - Wikipedia