インターネットとは
インターネットは「複数のコンピュータネットワークを世界規模で相互接続したネットワーク」のことです。ネットワークを繋ぐ点(コンピュータやハブ、ルータなど)をノード、それらを繋いでいる線をリンクと呼びます。
インターネットの歴史
- ♦1960年代: 軍事利用
- ARPAnet [1] という米国国防総省のネットワークの実験システムから発展。
- ♦1970年代: 大学で利用
- 一般公開されて大学間で電子メールを中心に利用される。
- ♦1980年代: 商用利用
- インターネットサービスプロバイダ(ISP)を介して一般の人が接続可能になる。
WWWとは
ワールドワイドウェブ(WWW)とは、インターネット上に散在するドキュメント同士を相互に参照可能にするハイパーリンク機能を備えたハイパテキスト(文書形式)システムです。このシステムは、リクエストとレスポンスが一対になっているサーバ・クライアントモデル [2] で構築されています。
WWWにアクセスするには、ユーザエージェント [3] からウェブページをURIで指定してブラウジング [4] する必要があります。インターネットの通信手続きの方法(規約)としてプロトコルがあり、標準化されたプロトコルはIETFからRFC [5] として公開されています。
リクエストとレスポンスとは
リクエストとは、クライアントからの要求のことです。ユーザエージェントやCookieの情報が含まれるリスエストヘッダ部と、リクエストする情報のパス(所在地)が含まれるリクエストメッセージ部に分けられています。
レスポンスとは、サーバからの応答のことです。応答情報以外にステータスコード(リクエストの結果)やコンテンツタイプ(応答する内容の種類)が含まれるレスポンスヘッダ部が含まれます。
通信プロトコルとは
通信プロトコルとは、コンピュータ同士がネットワーク通信を行うときの決まりごと、通信手順のことです。言語が互いに違えば会話できないように、プロトコルが互いに違えばコンピュータは通信することができません。役割に応じて複数の階層に分けており、上位のプロトコルはすぐ下のプロトコルの使い方さえ知っていれば、それより下の階層で何が起きているかを認識しなくても通信することが可能です。 主な通信プロトコルに、IP、TCP、HTTP、FTPなどがある。
ステータスコードの意味
コンピュータ通信の際、クライアントのリクエストに対して、サーバがどんな状態かを知らせるHTTPのリクエストに応じたステータスコードには、主に以下のものがあります。
| コード | 意味 | 状態 |
|---|---|---|
| 200 | OK リクエスト成功 | 『正常に応答しました!』 例:ページが正しく表示された |
| 301 | Moved Permanently 永久リダイレクト | 『移転しました!』 例:別のURLへ恒久的に移動した |
| 302 | Found リダイレクト | 『見つかりました!』 例:一時的にリダイレクトした |
| 304 | Not Modified 未更新 | 『更新されてません!』 例:更新がなかった |
| 401 | Unauthorized 認証失敗 | 『認証されません!』 例:IDやPWの入力ミスした |
| 403 | Forbidden アクセス拒否 | 『見ちゃだめ!』 例:アクセス権限がない |
| 404 | Not Found URLの存在不明 | 『リソースがありません!』 例:ページが存在しない |
| 500 | Internal Server Error サーバ内部エラー | 『障害発生中…。』 例:CGIなどの設定ミスした |
| 501 | Not Implemented 未実装・未サポート | 『それはできません…。』 例:実装してない機能を使う |
| 503 | Service Unavailable サービス停止 | 『混みあってます…。』 例:アクセス集中、メンテ、DOS攻撃 |
ステータスコードは、レスポンスヘッダ部という付加情報に含まれ、100番代は情報、200番代は成功、300番代はリダイレクション、400番代はクライアントエラー、500番代はサーバーエラー、を示しています。
ウェブページを見るまでのデータの流れ
- 1. クライアントでブラウザでURLを指定する。
- 2. DNSサーバが入力されたドメイン名のIPアドレスをクライアントに送り返す。
- 3. クライアントがIPアドレスのウェブサーバにアクセスし、htmlファイルを送るよう要求する。
- 4. ウェブサーバがhtmlファイルをパケットに分解してクライアントに送信する。
- 5. クライアントのブラウザソフトが送られたデータを処理(※)してhtmlファイルを復元し、所定のフォルダに保存して表示させる。
※ドキュメントを解析してHTMLで指定されている通りに文字をレイアウトする。
ステートレスとは
ステートレスとは、一つひとつの通信において、アプリケーション状態(ステート)をサーバ側で維持しない(レス)ということです。リクエストとそれに対するレスポンスとによって都度通信が完了し、通信の状態を保持しません。
| <例> | ステートレスの場合 |
|---|---|
| 店員: | いらっしゃいませ。 |
| 客: | 「Aセット」をください。 |
| 店員: | サイドメニューは何になさいますか? |
| 客: | 「Aセット」を「サラダ」でください。 |
| 店員: | ドリンクは何になさいますか? |
| 客: | 「Aセット」を「サラダ」と「アイスコーヒー」でください。 |
HTTPの通信は前後のページとの因果関係を引き継がないステートレスなアプリケーション・プロトコルなので上記のように1アクセス(店員と客の会話)ごとに切れてしまい「接続→通信→切断」が繰り返されます。
そこで、クライアント側にセッションID(同一のユーザーであることを認識する値)をCookie [8] に保存し、サーバ側に保持されるユーザ-の詳細情報を共有することでステートフルを疑似的に実現しています。
| <例> | セッションID(会員証)でステートフルを実現した場合 |
|---|---|
| 店員: | いらっしゃいませ。 |
| 客: | (会員証を提示して)「Aセット」をください。 |
| 店員: | サイドメニューは何になさいますか? |
| 客: | (会員証を提示して)「サラダ」で。 |
| 店員: | ドリンクは何になさいますか? |
| 客: | (会員証を提示して)「アイスコーヒー」で。 |
FTPやPOP3といったステートフルなアプリケーション・プロトコルは、セッションをつないだうえでメッセージをやりとりしながら複数の状態を行き来する格好で処理を順番に進めていく必要があります。
ネットワークの接続方法
一般家庭のPCからインターネットへ接続する場合、光ファイバーやメタル線(銅線)による電話線の接続サービスはISP(インターネットサービスプロバイダ)によって提供されます。インターネットにつなぐEthernet(イーサネット/有線LAN、無線LAN)やBluetoothなどの標準規格はIEEE(電子電気学会:アイトリプルイー)という組織が定めています。主なインターネット接続サービスは以下のとおりです。
WAP2.0 とは
ワイヤレス アプリケーション プロトコル(Wireless Application Protocol)2.0 の略。ワップニーテンレーと呼ぶ。
2001年に公開された携帯電話などの移動通信端末を使ってインターネット情報を表示するための通信プロトコルとコンテンツ記述言語の仕様のこと。
ウェブサーバのソフトウェア
WWWサービスを提供するウェブサーバは、HTTPプロトコルを利用してクライアントから要求されたデータを送る機能があります。ウェブサーバで使われるソフトウェアは以下のとおりです。
クライアントのソフトウェア
ウェブブラウザの世界の市場シェアWindowsに標準で付属しているInternet Explorer が5割強を占めており、Google Chrome、Mozilla Firefoxがそれを追っています(2012年現在)。主なクライアント側の主なブラウザソフトは以下のとおりです。
クラウドコンピューティングとは
ネット上でサービスとして仮想的に提供されるハードウェア、ソフトウェア、開発環境などコンピューティングリソースを土台として、必要な情報処理システムを構築・運用することです。概念としては、アプリケーションの「利用」のためのSaaS、アプリケーションの「開発」のための PaaS、情報処理システムを構成する要素全般を指す XaaS が含まれます。