ここで復習: インターネットとWeb
- Webについて学習済みであるならば、以下のことは大体わかっているはず
- そもそも インターネット; The Internet とは、世界中にある計算機を有線あるいは無線の通信網で接続し、
それぞれの間で意味のある情報を交換できるよう整備された系
- インターネットは様々なプロトコルの積み重ね(Protocol Stack)によって成り立つ
- cf. Internet Protocol Suite, TCP/IP
- Webは、根本としては、 URL で表現される何らかの実体(資源、リソース; Resource)を、
それを保管している計算機から取り寄せて閲覧するシステム
- 対象となる実体は、多くの場合、人間が意味を理解できる文字からなる文書を、適切に encode したもの(データ、ファイル)
- 画像・動画などは文字ではないかもしれないが、やはり人間が視覚的・聴覚的に理解できる情報を、適切に encode したもの
- もちろん、人間を直接の対象読者とせず、プログラムの内部で計算機に使わせることだけを目的とするデータもありうる
ここで復習: クラサバ, HTML, Webブラウザ
- 取り寄せようとする側を クライアント; Client, 設置場所の方を サーバ; Server とみなす
- HTML という形式で記述された文書を多様な用途に用いる
- 多くの機能が規定されており、クライアントは Webブラウザ を使ってHTMLを閲覧することでこれらの機能を利用できる
- 文書構造の定義(見出し、箇条書き、強調、装飾等)
- 他の文書に対する言及、言及されている文書を簡単な操作で取得(ハイパーリンク; Hyperlink)
- CSS と組み合わせることによる、文書構造を元にした視覚的な装飾表現の描画
- クライアントのWebブラウザ上で実行することで、閲覧時に文書内容を変動させたり、
複雑な機能を実現したりするためのプログラムを配布することもある
- 現代では、そのようなプログラムの多くは JavaScript で書かれる
- 必然的に、多くのWebブラウザはHTML/CSSを解釈して文書を視覚的に描画する機構と同時に、
JavaScriptプログラムを解釈して実行する機構も併せ持っている
いわゆる「Webサーバ」
- クライアントからの HTTP 要求に基づいてデータを送信する機能をもつアプリケーションを Webサーバ; Web Serverという
- 代表的なのは Apache HTTP Server(
httpd
)
- クラサバモデルにおける「サーバ」と同じ単語が使われている
- Webサーバが稼働している計算機自体を指してWebサーバとも呼ぶ
- 文脈によって微妙に意味する内容が変わりうる語には常に注意が必要
- Webサーバは、最も基本的には、
- クライアントとの間で確立した TCPソケット を通して送られてくるHTTPリクエストを解釈し、
- リクエストで指定されたファイルを、その計算機に装着された非揮発性記憶装置(たとえばSSD)から読み出して、
- その内容を確立済みのTCPソケット経由で送信する