【ネットワーク】WWW

概要

World Wide Web(WWW)は、インターネット上の情報をハイパーテキスト形式で参照できる情報共有システムです。ユーザーは文中のリンクを通じて、関連する情報や文書に簡単にアクセスできます。このリンクが蜘蛛の巣のように張り巡らされていることから、WWWという名前が付けられました。

WWWの情報を表示するためのクライアントソフトウェアをWebブラウザと呼びます。Webブラウザを使用することで、情報の場所を意識せずにアクセスできます。Webブラウザの画面に表示される情報全体をWebページと呼び、その中で特に見出しとして使われるページをホームページと呼びます。

WWWでは大別して下記の3つが定義されています。

1情報へのアクセス手段と位置URI
2情報の表現フォーマットHTML
3情報の転送などの操作HTTP

URI

 
URI(Uniform Resource Identifier)は、資源を一意に識別するための表記法です。URL(Uniform Resource Locator)はそのうちの一つで、インターネット上の資源の場所を示すものです。URIはその汎用性から、WWW以外でも広く利用される識別子です。

例えば、httpスキームのURIは以下のような形式です。

  • http://ホスト名 / パス
  • http://ホスト名:ポート番号 / パス
  • http://ホスト名:ポート番号 / パス ? 問い合わせ内容 # 部分情報

それぞれの情報は下記の内容を表しています。

ホスト名ドメイン名やIPアドレスを表す。
ポート番号トランスポート番号を表し、省略時には80が採用されます。
パスそのホスト上の情報の位置を表す。
問い合わせ内容CGIなどに伝える情報を表す。
部分情報表示されるページ内での位置などを表す。

HTML

 
HTML(Hyper Text Markup Language)は、Webページを記述するための言語で、文字の表示やサイズ、位置、色を指定できます。また、画像や動画、音楽の埋め込みも可能です。ハイパーテキスト機能により、文字や画像にリンクを貼ることで他の情報へアクセスできます。異なるコンピューターでも同じように表示されるため、WWW共通のデータ表現プロトコルとして利用されていますが、一部整備が未完了な部分もあり、利用環境によって微細な表示の違いが生じることがあります。

HTML5・CSS3

HTML5は音声や動画の再生機能を含み、多様なAPIを提供しています。また、過去のHTML4と比べて要素や属性が見直され、文章の構造を明確に示すことが可能になりました。一方、CSS(Cascading Style Sheets)はHTML要素のスタイルを指定する言語であり、CSS3では画像を使わずにボタンなどの要素をスタイリングできます。HTML5とCSS3を組み合わせることで、文章の構造とデザインを分離し、異なる画面サイズにも対応したレスポンシブデザインが容易になりました。

HTTP

HTTP(HyperText Transfer Protocol)は、HTMLや画像、音声、動画などのコンテンツをTCPを使って送受信するプロトコルです。クライアントはHTTPサーバー(Webサーバー)との間で情報の要求と応答を行います。具体的には、ユーザーがブラウザにURIを入力すると、HTTPの処理が開始されます。クライアントはまずポート80でサーバーとTCPコネクションを確立し、その経路を通じてコマンド、応答、データからなるメッセージの送受信を行います。

HTTPのバージョンには以下のようなものがあります:

  1. HTTP/1.0: 初期のバージョンで、1つの要求に対して1つの応答を行う方式です。

  2. HTTP/1.1: 複数の要求と応答を1つのTCP接続で行うことができるようになり、パフォーマンスが向上しました。このバージョンでは持続的接続(Persistent Connection)という仕組みが導入されています。

  3. HTTP/2: 1つの接続での並列処理やバイナリデータの使用によるデータ量の削減、ヘッダーの圧縮、サーバープッシュ技術などにより、ネットワークリソースの効率化が図られています。

  4. HTTP/3: UDPを採用することで多数のクライアント接続をサポートし、Webページの高速読み込みを実現しています。

HTTPにはBasic認証とDigest認証の2種類の認証方式があり、これらを使用してアクセス制御が可能です。Basic認証では、base64でエンコードされたIDとパスワードが平文で送信されるため、HTTPSの暗号化通信と併用することが推奨されています。一方、Digest認証ではMD5でハッシュ化された情報が送信され、より高い安全性が確保されますが、近年はMD5が解析可能なアルゴリズムとなっており、安全性が危険視されています。

Webアプリケーション

WWWはCGIやJavaScriptによってさまざまなアプリケーションをWebブラウザで利用できるようになりました。これらのWebアプリケーションについて紹介します。

JavaScript

JavaScriptは、Webブラウザで動作するクライアントサイドアプリケーションを作成するためのプログラムング言語で、HTMLに直接埋め込むことができます。JavaScriptがHTMLとともにHTTPでダウンロードされると、クライアント側でそのプログラムが実行されます。具体的には、入力値の範囲チェックや未入力の確認処理、HTMLやXMLドキュメントの構造を操作して、Webページの情報を動的に変更することができます。

近年、Webページ上でのデータの活用をより容易にするために、WebAPIと呼ばれるデータのやり取りをサポートする仕組みも広く利用されています。

CGI

CGI(Common Gateway Interface)はWebサーバーが外部プログラムを呼び出すサーバーサイドアプリケーションの仕組みです。通常の通信ではクライアントからの要求に対してサーバーが保存しているデータを静的に応答します。しかし、CGIを利用することで、外部プログラムを呼び出してクライアントの入力内容に対応した応答を返す事が出来ます。

クッキー

 
クッキー(Cookie)は、Webアプリケーションでユーザーを識別する仕組みです。Webサーバーはクライアントに「タグ名」とその「値」を格納し、次回の通信時にそれらを読み取ることで、同じユーザーからの通信であるかを判断します。例えば、ネットショッピングの買い物かごなどが挙げられます。

WebSocket

チャットやゲームなどのアプリケーションで、クライアントとサーバー間で双方向通信を実現するためのプロトコルです。通常、HTTPのupgradeリクエスト/レスポンスを利用して双方向通信を確立しており、このプロトコルを使うことでリアルタイムなデータの送受信が可能になります。

コメント

タイトルとURLをコピーしました