《超基礎》HTTPとは何か?初心者が図解しながらわかりやすく解説

インフラ

プロトコルの周辺知識

代表的なプロトコル一覧

プロトコルの中で代表的なものを表にまとめておきます。

プロトコルの種類

プロトコルの役割

HTTP

PCWebサーバーとのデータのやり取りに

関するプロトコル

FTP

PCからサーバーにファイルを転送する際に使用するプロトコル

SSL

暗号化通信に関するプロトコル

POP3, SMTP

POP3はメールサーバーからのメールの受信、SMTPは自分のメールサーバーから相手のメールサーバーに送信を行う為のプロトコル

DHCP

ネットワーク内のPCや機器へのプライベートIPアドレスの割り当てを行う為のプロトコル

NTP

PCとインターネット上に存在するNTPサーバーと時刻を合わせるために使うプロトコル

TCP

信頼性・確実性を重視したデータ送受信を行う為のプロトコル。HTTPHTTPSPOP3SMTPFTPなどと組み合わされて使用されます。ホームページ閲覧、メール送受信、ファイル転送..etc

UDP

転送速度・リアルタイム性を重視したデータ送受信を行う為のプロトコル。使用用途はIP電話、ビデオ会議、チャット、動画ストリーミング..etc

IP

データ・パケットを指定された場所まで届ける為のプロトコル

IPsec

データ・パケットを暗号化して指定された場所まで届ける為のプロトコル

Ethernet

LANによる通信を行う為のプロトコル

PPPoE

EthernetPPPプロトコルを利用して通信する為のプロトコル。

ブラウザのURLから様々なプロトコルを利用可能

プロトコルと言われても初心者の方はイメージし辛いですよね。実際にfileプロトコルを使ってプロトコルを身近に感じてみましょう。

URLの部分に注目してください。先頭の文字列がfileになっていますね。これはfileプロトコルを使って画像データのやりとりを行なっています。

HTTPプロトコルについて

そもそもHTTPプロトコルとは

Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、略称 HTTP)とは、HTMLなどのコンテンツの送受信に用いられる通信プロトコルである。主としてWorld Wide Webにおいて、WebブラウザとWebサーバとの間での転送に用いられる。日本標準仕様書ではハイパテキスト転送プロトコルとも呼ばれる。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Hypertext Transfer Protocol - Wikipedia

上に書いてある通り、webブラウザとwebサーバー間の通信の決まりごとをHTTPと言います。

HTTPプロトコルのURLの形式

の形式で書かれます。

URIとMethodについて

URIとは

URI:Universal Resource Identifier の略。HTTPが送るメッセージの「何を送るのか」の部分が書かれています。ちなみにURIとURLの違いですが、以下のサイトにわかりやすくまとめられていましたので紹介しておきます。

結論から言うと、URIとURLは同じものではありません。「URI」のほうが広い概念で、「URL」はURIの部分集合です。

URLとURIは何が違うの? どちらが正しい呼び方? | 初代編集長ブログ―安田英久
Webページのアドレスを指す場合は、URLとURIどちらを使うべきなのでしょうか。

出典:「URLとURIは何が違うの? どちらが正しい呼び方?」

URIは名前または場所を識別する書き方の大元のことを指します。「http」なんかはURIの書き方で決められたものなのでURIといったりします。そうでない「http:abcde.com」はURLと言います。

Methodとは

Method:HTTPの送るメッセージの「どうする」の部分が含まれる。GETやPOSTといったエンジニアなら一度は聞いたことがあるこの用語はMethodに該当します。GETですと取得するという意味合いになりますね。

HTTPのリクエスト・レスポンス メッセージ

リクエスト・メッセージの構成

大きく分けて以下の3要素で構成されています。

リクエストライン

メッセージヘッダー

メッセージボディー

レスポンス・メッセージの構成

こちらも同様、大きく分けての以下の3要素で構成されています。

ステーテスライン

ヘッダーフィールド

メッセージボディー

レスポンスのステータスコード

↑はwikipediaのトップページを開いた際に送信されるHTTPリクエスト、レスポンスの一部がまとめられたものです。全てのサイトで「右クリック」→「inspect」→「network」で開いているページに対するHTTPリクエスト・レスポンスを確認することができます。レスポンスの中にstatus code(ステータスコード)と呼ばれるものが入っているのですが、これはx00番台毎に意味を持ちます。

ステータス番号

意味

100番台

処理の経過情報に関する系

200番台

正常終了

300番台

別のアクションを必要とする系

400番台

クライアント側のエラー

500番台

サーバーサイド側のエラー

タイトルとURLをコピーしました