概要
Webアプリ開発を続けていくにあたり、そもそもの基礎知識不足を痛感。
名著『プロになるためのWeb技術入門』を毎日の昼休みに読んで生きた知識にしていこう企画です。完全に自分用ですが、業界に入る前までの自分が「これ知りたかった!」と感じたであろう部分を超端的に抜粋しています。復習も兼ねてメモメモ。
(全解説ではありませんが、数回にわたって記事にしていこうと思いますのでお時間のある方は是非。)
アプリの種類
**〇デスクトップアプリケーション**
・手元のPC上で処理が完結するよ。
・画面はOSの機能を利用して表示しているよ。
・アプリをPCにインストールしないとダメだよ。
〇Webアプリケーション
・サーバー上で処理が行われるよ。
・画面はHTMLで表現されてWebブラウザに表示されるよ。
・アプリをPCにインストールする必要はないよ。
Webのはじまり
もともとインターネット自体は研究機関の関係者などの限られた人たちしか使ってなかったよ。
でも、**WWW(World-Wide Web)**や**NCSAMosaic(Webブラウザの原型)**の発展で状況が一変するよ。この頃にHTMLやHyper Textも生み出されるようになったよ。
Webを支える技術の発明
・**Webサーバー:レスポンス返してくれる**
・**Webクライアント:リクエスト送る**
上記の2つがお互いやり取りして成り立つよ。
サーバーは大量のコンテンツを1箇所にまとめて管理をしやすくするため、クライアントは多くの人が自由にコンテンツを閲覧できるようにするために存在してるよ。
HTTP
WebサーバーとWebクライアントで「通信プロトコル」が決められているよ。プロトコルは情報をやり取りするためのルールみたいなものだよ。共通の言語やジェスチャーでやり取りしないと意思疎通が取れないイメージだよ。
CGIの誕生
・**動的コンテンツ:Webサーバー上で動作するプログラムがHTMLを返してくれる**
・**静的コンテンツ:あらかじめ用意されたHTMLを返す**
動的なコンテンツは静的なコンテンツに対して、Webサーバーと連携をとってくれるものが必要だよ。そのための仕組みを**CGI(Common Gateway Interface)**って呼ぶよ。プログラムは当然言語で組むよ。
これらが普及したことで今の「検索エンジン」や「ECサイト」みたいな便利機能が実現可能になったよ。
まとめ
細かい説明や大事なとこすっ飛ばしてますがご了承を。。。
PCやネットワーク内部の動きは趣味的な範囲で実務とは切り離されがちらしいですが、超絶勉強になりますね。
読み進めるだけで楽しいです。休み時間が潤います。(続く)