みなさん、ウェブブラウザでネットサーフィンをしているときブラウザのアドレス欄によく「https://www.~」というのを目にすると思います。今回はこの「http」と「www」とは何なのか?について取り上げていきたいと思います。
httpとは?
『http』とは、Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)の略でWebサーバと、Webブラウザなどのクライアントがデータを送受信する際に使われる通信上の約束ごとで、コンピュータが話し合うための「言葉」を指定するものです。
簡単にいうと日本人と「外国人」で話するときに「英語」を指定して話をするということです。プロトコル(通信規約)とは、言葉のルールを決めたものです。もしあなたがWEBサイトを見たいのならば、httpという言葉を使ってホームページにアクセスすれば、サイトに書かれているhtmlをダウンロードして読むことができるということです。
そして、このやり取りをすべて勝手にやってくれるのがインターネットエクスプローラー(IE)やGoogle chromeといったWebブラウザです。
ブラウザなどのアドレス欄に http://www.yahoo.co.jp を記述するのは、ブラウザが www.yahoo.co.jp に「http」で通信を行うことを指定するためです。通信方式は「http」の1つしかないのにわざわざブラウザで表示させる必要がある?と思う方もいらっしゃると思いますが、昔は「http」以外にも色々な通信方式があり、現在はその競争を勝ち抜いた「http」だけが残っている状態になっています。
ちなみに現在Webブラウザで使用される通信プロトコルには、「http」よりもより暗号化されたセキュリティー耐性の高い「https」 もあります。そして、自分のサイトの通信方式をこのhttpからhttpsに変更することを「SSL化」とも言います。
httpの歴史とhttpsについて
httpは1990年にCERN(欧州原子核研究機構)に在籍していたティム・バーナーズ・リー氏によって開発されました。基本的には普通のテキストデータを使い、 ブラウザなどのクライアントがWebサーバに対してget、putといったコマンドを送ると、 それに応じた結果がサーバから送られてきます。
そして送られてきたHTMLやJPEGといったテキスト・画像データをきれいに成形して見せるのは、 Googlechromeやインターネットエクスプローラーに代表されるWebブラウザの仕事になっています。
特徴としては、原則としてステートレス(= stateless 前回の状態は非保持の意)、 つまり1回コマンドを送ったら1回結果が返ってきてそれで終わり、ということが挙げられます。ちなみにAmazonなどのネットショッピングでは取引確認などに複数回のやりとりが必要なので、これにcookieなどの技術を組み合わせて使うことで複数回のやりとりを追跡しています。
そして単にhttpを使ってデータのやり取りをしていると、データが暗号化されていないため、 通信経路のどこかで第3者に内容を知られる可能性があります。これを防ぐために使われているのがhttpを暗号化した「https」というプロトコル(通信基準)です。↓こんなやつ
このサイトのような普通のブログだとhttpで問題ないのですが、Amazonや楽天のようなキャッシュカード情報をやり取りするようなサイトではhttpsが使われています。まあ現在はセキュリティ意識の高まりとSSL化のコストが小さくなったことから、このサイトのように個人運営のサイトでもhttpsにするサイトがかなり多いです。2018年以降に作られたサイトはほぼ「https」でしょう。
wwwとは?
「www」とは「World Wide Web(ワールド・ワイド・ウェブ)」の略称で、世界中に張り巡らされたクモの巣という意味です。「www」はもともと、さまざまな種類のコンピュータ上で共有できるファイルシステムとして開発されたもので、インターネットそのものではなく、世界中のサーバで公開されている情報をインターネットのWebページとして得ることができるシステムのことをいいます。
「www」では、URLを指定したり、Webページのリンクをクリックすることで、ユーザは世界中の「www」サーバに保存、公開されているWebページの情報を受信することができます。そして、私たちはその受信したデータをWebブラウザを介して見やすい受け取る状態で観覧することができます。
このWebブラウザでは、ユーザのURL入力やクリックなどの操作に従って、wwwサーバとブラウザ間で必要な情報の交換や転送が行われ、ユーザの元に返ってきたHTML文書の内容をブラウザが解析し、パソコンの画面上に表示するのです。
(例)
ブラウザが実際に受け取っているデータ⇨
<span style=”color: #ff5252; font-size: 150%;”><strong> テスト</strong></span>
私たちが観覧するときに表示されるデータ⇨
テスト
wwwの情報はHTMLという言語で記述され、文章だけでなく、多くの画像や音声なども含めて保存、公開されています。
httpとwwwの違い
上述したようにwwwサーバは、インターネット上で Webページのコンテンツを提供するサーバです。その際に、http というプロトコル(通信ルール)に則ってHTMLデータをやりとりするのですが、その仕組みを提供するサーバという意味でhttpサーバとも呼ばれます。
要するに両者は同じものなのです。提供する機能に重点をおけば WWWサーバ、提供する仕組みに重点を置けば httpサーバという名称になると理解できそうです。よくリンクで同じサイトなのに「https://~」と「www.~」から始まる場合の2パターンの表記方法があるのはこのためです。
まとめ
以上が「http」「https」「www」の基本的な仕組みです。Webの通信プロトコルは現在はこの方式が主流ですが、1990年代のインターネット混迷期にはいろんなプロトコルがありしのぎを削っていました。興味のある人はそういう歴史も調べてみるといいと思います。
これとHTMLについて知っていれば、インターネットの表面上の仕組みは抑えたことになるので、スクレイピング(プログラムを組んで自動でWEBサイトの情報を収集すること)を行うこともできるようになると思います。
コメント