【ゼロから学ぶシリーズ】Webとは何か?基礎や概念を説明

ゼロから学ぶシリーズ

はじめに

以前、友人に何気なく「Web」とか「Webアプリケーション」ってどういう意味?という聞かれました。

やれやれ、そんなことも知らないのかよと得意げに話そうとしたのですが、いざ説明しようとすると恥ずかしながら案外うまく伝えられず、理解が浅いことに気づかされてしまいました。

ということで、一度文字に起こして整理した時の内容をブログにまとめてみました。

Webに興味のある方は勿論、これからエンジニアになる方や改めてWebが何か説明できるか不安な方の参考になれば幸いです。

Webとは?

Webとは、一言で言うとコンテンツ(文書、動画、音楽など)を公開・閲覧するためのシステムの総称です。

あるバンドのホームページを例にすると、宣伝をしたい人(バンド本人もしくは事務所の人)がコンテンツ(ホームページそのものやPVなど)を作って公開し、ファンであるユーザーがそれを閲覧するという構図をWebというシステムで実現しています。

他にも、SNSやブログで投稿をするという行為は「コンテンツの公開」に該当し、それを見る行為が「コンテンツの閲覧」になります。

つまり、この記事を見ている時点でWebを利用していると言える訳になります。今の時代Webを絶って生活する方が難しいぐらい浸透していることがわかりますね。

WebページとWWW(World Wide Web)

上記に述べたようなコンテンツのうち、バンドのホームページやブログの記事のようなページ1つ1つの最小単位のことを「Webページ」と呼びます。

Webページは、ハイパーテキスト(HTML)と呼ばれる言語で作られています。ハイパーテキストの特徴の1つは、別のページへの参照(ハイパーリンク)をつけることができることです。これにより、1つのWebページから様々なページにつながっていくことができます。

一方でWebという言葉の正式名称は「WWW(World Wide Web)」です。これは、Webページ同士が上記のようにリンクしており、新たなページが生まれるたびにその繋がりが広がっていくことから、こう呼ばれています。

ちなみにWeb技術が生まれたすぐの時は、Webページのみしか取り扱うことができませんでしたが、画像やその他のメディアやコンテンツを掲載できるようになり、今のような世界を実現しています。

HTMLとは?

HTMLとは「HyperText Markup Language」の頭文字を取ってこう呼ばれます。このブログを始め、実際のWebページもHTMLという言語で書かれたファイルを元にページを作っています。簡単な例を掲載しておきます。書き方や各タグ(<>で囲われている部分)の説明などはここでは割愛しますが、こんな感じで書かれてるんだぁ〜程度に見ておいてください。

【寄り道】HTMLの記述例

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>HTMLの例文</title>
  </head>
  <body>
    <h1>HTMLの例文</h1>
    <p>こんな感じでWebページに表示されます</p>
    <p>一部の文字だけ<b>太字</b>にすることや<u>アンダーライン</u>を引くこともできます</p>
  </body>
</html>

HTMLの表示結果

上記の文字列が書かれたファイルをブラウザで開くと下の画像のような表示結果になります。

Webとインターネットの歴史

小話になりますが、今や密接に関係しているWebとインターネットですが、元々インターネットとWebは別々の目的で開発された技術でした。

Web

WebはCERN(欧州原子核研究機構)のティム・バーナーズ=リーにより開発されました。元々は研究者がすぐに情報にアクセスできるように作成された「ENQUIRE(エンクワイア)」と呼ばれるシステムが原型となっています。それを改良して1991年8月6日にインターネットに公開したものが現在のWorld Wide Webです。同時公開された、世界初のWebページが以下になります。

ティム氏はこの後、WebサーバーやWebブラウザを開発し、Webの構築のみならずその発展にも多大な貢献をしています。そして、今も第一線で活躍しており、オープンソースプラットフォームの「Solid」を発表し、Webのあるべき姿に向かってプロジェクトを推進しています。

インターネット

インターネットはARPA(アメリカ国防総省の高等研究計画局)によって開発されたARPANET(アーパネット)が原型です。世界中に広がってすぐの段階では回線が高価なため一部の企業や研究機関にとどまっていましたが、技術の進歩ととも安価になり一般ユーザーでも利用できるようになっていきました。ここに「Web」がインターネットでも使えるシステムとして公開され、Webブラウザが普及していくととともに爆発的に広まっていたそうです。

どんなことに使われているのか?

Webの意味はわかったけど、結局どんなことができるのかはよくわからないかもしれません。ここでは多くの人に馴染みのあるシーンからどんなところでWebが使われているのかを紹介していきます。

文書の閲覧(Webページ)

先ほどでも述べたようにもっともポピュラーな使われ方がWebページです。アーティストや企業のホームページや、この記事も含むブログ、大学のポータルサイト、すべてWebページです。

これらを閲覧するためのツールがWebブラウザと呼ばれるもので、Internet Explorler、Firefox、Google Chrome、Safariなんかがこれに該当します。WebブラウザはHTMLで作られたハイパーテキストを読むのに優れたツールです。

Webページは1つ1つにURL(Uniform Resouce Locator)がついており、これをたどってページからページに遷移(移動)することができます。

ユーザーインターフェース(Webフォームなど)

次によく使われるのがWebから入力フォームに情報を入力して登録するためのユーザーインターフェースとして広く使われています。

わかりやすいのは、AmazonやGmailでの会員登録とかで自分の名前とか住所とかを入力するときのページや、問い合わせ用のページなどは、「Webフォーム」と呼ばれたりします。

前者の場合、入力した情報がサーバーに送信され、データベース(情報の蓄積をする場所)にそれらが登録され、会員情報が作られてサービスを利用できるようになるといった動きをします。

後者の場合は、入力した情報を元にサーバーからメールが送信されます。

プログラム用API(WebAPI)

続いてWebAPIについてです。

ソフトウェア同士の情報のやり取りをするための窓口のことをAPI(アプリケーションプログラミングインターフェース)と言います。

APIの具体例としては、GoogleMapとか地図情報提供APIなどです。これは、プログラムが位置情報をGoogleMapAPIに送信することで、位置情報の周辺の地図データを提供する、という時に利用します。Webページの場合は、URLを元にそこに存在するWebページをクライアント側(Webブラウザ)に返しますが、ここではURLではなく位置情報をサーバー側に送信し、帰ってくるものがWebページ(HTML)ではなく地図データというような感じです。

こうしたAPIが公開されるようになったおかげで、これらを組み合わせた新たなサービスを生み出すことができます。

PokemonGoでは、このGoogleMapのAPIを活用することで現実世界のマップとゲームの世界を掛け合わせ、あの世界を作り出しています。

最後に

Web技術は、今や切っても切れないほど、今の生活のあらゆる場面で使われていますが、30年ぐらいと案外若い技術です。

本項で取り扱っている内容はほんの概要ですが、少しでも興味を持っていただけたら幸いです。

コメント