歴史と仕組み

World Wide Web

インターネット上で提供されるハイパーテキストシステム。
単にWeb(ウェブ)と呼ばれることも多い。

ハイパーテキスト(hypertext)
  • 複数の文書(テキスト)を相互に関連付け、結び付ける仕組み
  • ハイパーリンク:テキスト間を結びつける参照のこと

  • 「インターネット = WWW」ではない
  • WWWは、インターネット上の一機能でしかない
WWW以前のインターネットの主要機能
  • telnet:遠隔にあるサーバを端末から操作
  • ftp:ホスト間のファイル転送
  • email:メール
  • UUCP:ネットニュース
  • archie:ファイル検索
  • WWW以前にもインターネットには長い歴史がある

インターネットの歴史

インターネットの簡単な歴史

1957:ARPA創設

  • 1960:Joseph Carl Robnett Licklider、タイムシェアリングシステムの概念の

発表

WWWに至る道

ヴァネバー・ブッシュ (Vannevar Bush)

  • 論文「As We may think (我々が考えるように)」 -1945-
  • 図書館的な情報検索システムでは情報の増加に追いつかない
  • 連想の網の中で多くの知識を格納する → ハイパーテキストの元祖
  • 一種の図書館と電気的に接続され、その図書館の本やフィルムを表示でき、自動

的に相互参照をたどって他の作品(本やフイルム)を表示するデバイス(コンピュータシステムの概念)

テッド・ネルソン(Theodor Holm Nelson)

計画 (1960)

ダグラス・エンゲルバート(Douglas Carl Engelbart)

めておこなう

  • "The Mother of All Demos"「すべてのデモの母」
アスペン・ムービーマップ (1977)

  • 初のハイパーメディアアプリケーション
  • アスペンの街をバーチャル旅行することができる
  • コマ撮りされた大量の写真がリンクされている
HyperCard (1987)

WWWの誕生

ティム・バーナーズ=リー(Sir Timothy John Berners-Lee)

  • WWWの生みの親
  • 欧州原子核研究機構(CERN)で数千人の研究者同士の情報を行きわたらせるた

めのシステム構築を命じられる

  • CERN - スイスのジュネーヴ郊外にある、世界最大規模の素粒子物理学の研究所
  • 各国に散らばっている実験者が瞬時に情報にアクセスしたい
  • 同時に多くのコンピュータ間で同じ情報を共有したい
1990年、初のWWWブラウザ “WorldWideWeb” を発表


Webブラウザの発展

VioliaWWW (1991)

NCSA Mosaic (1993)

Opera (1996)

Mozilla (2002)

Firefox (2002)

Safari (2003)

Google Crhome (2008)


インターネットの基本

  • コンピュータとコンピュータで情報の共有をしたり、データをやりとりしたりするために、コンピュータ同士を接続したものをネットワークと呼びます
  • インターネットは、このLAN(Local Area Network)やISP(Internet Service Provider:インターネットサービスプロバイダー)が運営しているネットワークも含めて、色々なネットワークを世界的な規模でつないだ巨大なネットワークの集合です
サーバーとクライアント
  • インターネットのようなネットワークで情報を提供したりと何らかのサービスを提供するコンピュータがサーバーです
  • それらのサービスを利用するために使うコンピュータをクライアントと呼びます
  • クライアントから、サーバーに対してWebサービスを要求します。これをリクエス(要求)と呼びます
  • サーバーは、クライアントからのリクエストに対して、サービスの実行結果をWebページとして返します
  • この実行結果をレスポンス(応答)と呼びます
WWW(Webサービス)
  • インターネット上では、様々なサービスが提供されています
  • 検索サイト、ショッピングサイト、ブログ、SNS(Social Network Service:ソーシャルネットワークサービス)などがそれにあたります
  • Webサービスは、WWW(World Wide Web)と呼ばれています
  • WWWとは、ネットワーク上に公開する情報を蓄積しているコンピュータに接続すると、その情報を見ることができるサービスのことを言います
Webサーバー
  • Webサーバとは、ホームページのようなWebページ情報を管理し、クライアントのリクエストに応答する機能を持っています
  • また、ショッピングサイトのようなホームページよりも複雑な処理を含むWebシステムを構成するプログラムなどを管理し、クライアントのリクエストに応じて、それらのプログラムを実行し、結果をWebページで返す機能も持っているものもあります
  • Webサーバは、多くのクライアントからのリクエストに対し、適切に処理し、結果を返すことができます
  • Webサーバを構築するには、コンピュータにWebサーバの機能を提供するソフトウェアをインストールします
HTTPとURL
  • Webページを閲覧するときには、HTTP(Hyper Text Transfer Protocol)というプロトコルを利用して通信が行われます
  • プロトコル」とは、ネットワークでの色々なやりとりのルールです
  • インターネットを実現するためには、通信方式やデータ形式などをきちんとルールとして決めておかなければ、世界中をつなぐことは困難になるため、このようなプロトコルと言われるルールが設定されています


HTTP

  • HTTPプロトコルは、インターネットの通信プロトコルとなります
  • クライアントのWebブラウザから、Webサーバに対して「Webページ情報」をリクエストすると、WebサーバがWebページデータを返してくれるというルールがHTTPです
URI:Uniform Resource Identifier

一定の書式によってリソース(資源)を指し示す識別子。


サブセットとして以下の2つがある。


●Uniform Resource Locator (URL)
 リソースの「場所」を識別する。
 ネットワーク内の位置を示してリソースを同定する。


●Uniform Resource Name (URN)
 リソースの「名前」を識別する。

ユーザーエージェント:User Agent

人間が、あるプロトコルに基づいてデータを利用する際に用いるプログラムのことである。略称はユー・エー(UA)。

HTTPユーザーエージェント

特に有名なものは、HTTPを用いてWorld Wide Webにアクセスするためのユーザーエージェントであるが、ユーザーエージェントという名称はそれに限られるわけではない。
例えば、人間が電子メールを送受信する際に用いるプログラムは、メールユーザーエージェントである。


●拡大解釈をすれば、Webサイトにアクセスするためのブラウザを「ユーザーエージェント」と呼ぶのだと理解しましょう。

ISP:Internet Service Provider(プロバイダー)

  • インターネットに接続するための回線を提供する業者のこと
  • プロバイダーと契約すると、ユーザーIDとパスワードを取得できます

TCP/IPIPアドレスドメイン

TCP/IP
IPアドレス
  • ネットワークは、多くのコンピュータがつながっているため、あるコンピュータ同士が通信をするには何らかお互いに識別できないといけません
  • IPアドレスは、ネットワーク上のコンピュータを識別するための番号となります
  • 「送信元IPアドレス」「あて先IPアドレス」とあるように、ホストを1台1台識別するための符号です
ドメイン
  • インターネット上のコンピュータに付けられたIPアドレスを人が覚えることは大変なので、そのIPアドレスにつけた人間にわかりやすい名前に置き換えたものが「ドメイン名」になります

Webサイトの表示の流れ


●HTMLファイル内に記述されている「画像の置いてある住所」をもとに
 もう一度、画像ファイルを要求します。
 このとき画像データの容量が大きすぎる場合、表示が遅くなります。

Webアプリケーション概要

Webアプリケーションとは
  • Webアプリケーションは、インターネットを活用して、サーバー側で基本的な処理は実行し、クライアントはアプリケーションをインストールしたりすることはありません
  • クライアントは、Webブラウザを使用して、サーバにアクセスし、Webアプリケーションを利用します
  • サーバーは、クライアントのリクエストに対し、何らかの処理を実行し、Webページ情報として、クライアントにレスポンスします
  • 代表的なWebアプリケーションは、ショッピングサイト、検索サイト、掲示板やSNSなどです
Webアプリケーション技術

HTML

  • HyperText Markup Languageの略称で、HTMLと呼ばれることが通常です
  • WWW上で公開するWebページを記述するための仕様です
  • HTMLでブラウザに表示されるページ情報を作成します
  • インターネットブラウザは、HTMLを解釈して、画面表示の処理を行っています


CSS

  • Cascading Style Sheetの略称
  • HTMLで記述されたWebページの画面レイアウト等を設定することができます
  • 文字の大きさや色なども設定することができ、Webサイトは、通常複数ページあるので、それらのページのレイアウトを統一することができます


JavaScript

  • NetScape社が開発したJavaに似たスクリプト言語
  • 現在通常のブラウザには、JavaScriptを実行する機能を持っています
  • クライアントのブラウザで実行されるため、入力フォームの入力チェックやナビゲーションウィンドウの起動など簡単な処理をさせることに通常使われます


Perl

  • WebサーバーがURLで指定されたCGI(Common Gateway Interface)と呼ばれるプログラムのファイルを外部プログラムとして起動する形式です
  • そのCGIプログラムでよく利用されるのが、Perlという言語です
  • Perlは、スクリプト言語という種類の言語で、制約が少なく、C言語などのほとんど全ての機能を取り込んでいることなどが特徴です
  • CGIでは、起動されたプログラムはHTMLを生成し、クライアントにレスポンスされます
  • 掲示板やチャットなどで使われ、Javaが出てくるまではサーバサイドアプリケーションの主流の技術でした


Java


PHP

  • PHPは、1994年にWebシステムを構築するための言語として開発されました
  • サーバサイド・スクリプト言語と呼ばれ、HTMLの中にPHPを埋め込んで記述し、Webサーバ側で処理された結果のHTMLがクライアントのブラウザに出力されます
  • Javaと比較して、テキストベースで構築でき、「Lightweight Language」と呼ばれるように、プログラムの作成や修正が容易で、文法の習得も簡単であると言われています
  • 比較的、短期間で開発できる中小規模のシステムに向いています


その他のプログラミング言語