1.WWWとWeb
webの英単語そのものの意味は「クモの巣」である。
WWW(World Wide Web)は世界中に張りめぐらされたクモの巣のようなネットワークである。WWWは仕組みや概念を表すものである。WWWサーバやWWWクライアント(主にブラウザ)、URLを利用することで、HTMLというと統一したフォーマットにて簡単に情報の発信と閲覧ができるようにする仕組みである。

2.HTTPとは
HTTP(HyperText Transfer Protocol)とは,インターネットの基本となるプロトコルです。Yahoo!などのWebサイトを閲覧する場合は、このHTTPというプロトコルが利用されます。
Web閲覧はHTTPと考えればいいのですが、URLを入力するときに、http://〜 で始めることから、なじみ深いことでしょう。

HTTP(HyperText)の意味ですが、通常のテキスト文書よりすごい(super)だけでなく、とびぬけてすごいという意味のハイパー(Hyper)です。
基本的にはHTML(Hyper Text Markup Language)という言語でWebサーバのコンテンツは作られますが、確かにリンクや画像や動画なども記載できるので、ハイパーな言語であるとも感じます。

3.HTTPのバージョン
HTTPプロトコルにはいくつかのバージョンがあります。
主流はいまだにHTTP/1.1ですが、HTTP/2が2015年、HTTP/3が2018年にRFCとして文書化されています。

2と3については追々書くとして、http/1.0と1.1について。
http/1.0は一つのTCPコネクション(=3wayハンドシェーク)にて、1つのHTTP Requestしか送れません。
通常、Webページには複数の画像などもあるため、たくさんのRequestを送ります。その都度TCPコネクションをはるのは無駄です。
そこで、HTTP/1.1では、1つのTCPコネクションで複数のHTTP Requestが送れるようになりました。

4.HTTPSとは
https(HTTP over SSL/TLS)とは、そのフルスペルの通り、HTTPをSSLやTLSを使うことで、暗号化して安全に通信を行うことです。
最近ではGoogle検索もhttpsによる暗号化通信になりました。
オンラインバンキング使うと、https://〜で始まるURLが表示され、バーの部分が緑色になったりします。また、証明書の確認もできます。
※以下は三菱東京UFJ銀行のオンラインバンキングのサイトを開いた画面です。
UFJ

5.【参考】HTTPのプロセス
HTTPの通信をパケットキャプチャしてみると、以下のような流れがわかる。
1)Client→Server GET /index.html HTTP/1.1 ←1.1はHTTPのバージョン。旧バージョンは1.0
2)Client←Server HTTP/1.1 200 Document follows ← 応答コード200(OK)
3)Client←Server HTMLデータ
2

あれ?
3way-handshakeは無いのですか?
いや。あるよ。厳密には、上記の1)〜3)の前後にも、TCP/IPのオーバーヘッドが間に入る。
X)Client→Server 3way-handshake SYN
X)Client←Server 3way-handshake SYN,ACK
X)Client→Server 3way-handshake ACK
1)Client→Server GET /index.html HTTP/1.1
2)Client←Server HTTP/1.1 200 Document follows
X)Client→Server ACK
3)Client←Server HTMLデータ

スポンサードリンク