超基本的なTCP/IP、HTTP、HTML、リレーショナルデータベースの基本概念
今更ではありますが、改めて超基本的な概念です!そんなことわかっているよ!という方は飛ばしていただければ(あと画像の文字が間違っているのはご愛嬌ということでw)
TCP/IP、HTTP、HTML、リレーショナルデータベースの基本概念です
1. TCP/IP (Transmission Control Protocol/Internet Protocol)
TCP/IPは、インターネットを通じてデータを送受信するための基本的な通信プロトコルです。このプロトコルスイートは、データのパケット化、送信、受信を行い、信頼性のある通信を提供します。
TCP (Transmission Control Protocol): データを小さなパケットに分割し、送信後に再構成する役割を担います。また、送信データの正確な受信を確認し、エラーを検出して再送信を行います。
IP (Internet Protocol): パケットを送信先に届けるためのアドレス指定を行います。IPアドレスを用いてデバイスを識別し、パケットのルーティングを行います。
2. HTTP (HyperText Transfer Protocol)
HTTPは、ウェブブラウザとウェブサーバー間でデータを転送するためのプロトコルです。主にウェブページのリクエストとレスポンスを処理します。
リクエスト: クライアント(通常はウェブブラウザ)がサーバーに送信する要求。例えば、ウェブページの閲覧リクエスト。
レスポンス: サーバーがクライアントに送信する応答。例えば、要求されたウェブページのHTMLコード。
3. HTML (HyperText Markup Language)
HTMLは、ウェブページを作成するためのマークアップ言語です。テキスト、画像、リンク、フォームなどのウェブコンテンツを構造化し、ブラウザがそれを適切に表示できるようにします。
タグ: HTMLでは、要素を定義するためにタグを使用します。例えば、`<p>`タグは段落を示し、`<a>`タグはリンクを示します。
属性: タグに追加情報を提供するために属性を使用します。例えば、`<a href="https://example.com">`の`href`属性はリンク先のURLを示します。
4. リレーショナルデータベース
リレーショナルデータベースは、データをテーブル形式で管理するデータベースシステムです。各テーブルは行と列で構成され、データは行に格納されます。リレーショナルデータベースは、データの関係性(リレーション)を利用して効率的に情報を管理します。
テーブル: データを格納する基本的な単位。各テーブルは特定の種類のデータを含み、行(レコード)と列(フィールド)で構成されます。
主キー: 各行を一意に識別するための列。例えば、ユーザーテーブルの`user_id`。
外部キー: 他のテーブルの主キーを参照するための列。例えば、注文テーブルの`user_id`がユーザーテーブルの`user_id`を参照します。
図解で理解する
TCP/IP
[ クライアント ] ---TCP/IP---> [ ルータ ] ---TCP/IP---> [ サーバー ]
HTTP
[ ブラウザ (クライアント) ] ---HTTPリクエスト---> [ サーバー ]
[ ブラウザ (クライアント) ] <---HTTPレスポンス--- [ サーバー ]
HTML
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<h1>Welcome to My Website</h1>
<p>This is an example paragraph.</p>
<a href="https://example.com">Visit Example</a>
</body>
</html>
リレーショナルデータベース
ユーザーテーブル
+----------+------------+--------+
| user_id | username | email |
+----------+------------+--------+
| 1 | Alice | alice@example.com |
| 2 | Bob | bob@example.com |
+----------+------------+--------+
注文テーブル
+----------+----------+--------+
| order_id | user_id | amount |
+----------+----------+--------+
| 1 | 1 | 100 |
| 2 | 2 | 200 |
+----------+----------+--------+
このように、各概念はインターネットやウェブアプリケーションの基盤となる重要な要素です。