WEB入門講座①
Penseur
2015.07.19
今回からWEB入門講座と題して、毎回テーマを決めて書いていきたいと思います。
まず初回は「WEBサービスの基本について」です。
1. WEBサービスとは?
インターネットで提供されている基本的なWEBサービスの仕組みを説明すると以下のようになります。
①ブラウザからリクエストをサーバに送信する
②サーバからレスポンスが帰ってくるのでそれをまたブラウザに表示する
例えば簡単な例ですが、2つの数字をサーバに送信したとして、サーバ側で計算した結果を返してほしい場合があるとします。
上記のようなやり取りを実現するプロトコル(通信規約)がHTTPというものになります。
2. 通信方法
HTTP通信の際のデータ送信方法はGETとPOSTという2種類の送信方法が存在します。
この概念もよく出てくるので、覚えておくといいと思います。
①URL(例えばhttp://sample.comなど)の後にユーザデータを付加するのがget送信方式
②ボディ部にユーザデータを収容するのがpost送信方式
①だとデータ内容が見えてしまい、②だとデータ内容が隠蔽されてしまうイメージ。
どちらを使うかは用途によりますが、送付するデータを見られてはいけない場合は、
POST送信方式を使うと覚えておけばよいでしょう。
3.通信プロトコルとは
先程HTTPプロトコル(通信規約)を利用して、WEBサービスの情報のやりとりが行われていると説明しましたが、
実際に通信する際には、HTTPだけでなく、様々なプロトコルが使用されていますので、合わせて理解しておくと良いでしょう。
①TCP/IPプロトコル
インターネットで通信する際に利用するプロトコルで、簡単にいうとIPアドレスとポート番号を使って通信する規約となります。
「IPアドレス」は宛先となるネットワーク上のコンピュータを一意に識別するもので、「ポート番号」は送り先のプログラムを指定するための番号となります。
なお、大抵の場合、「IPアドレス」は覚えにくいので、DNS(Domain Name System)と呼ばれる仕組みで、分かりやすい英単語で構成された住所に置き換えられて使用されます。
(例:http://211.XXX.XXX.XXX → http://sample.com)
また、HTTP通信の場合は、本来ポート番号は80番を指定する必要がありますが(http://sample.com:80)、
省略すれば勝手に80番に指定してくれるので、通常記述されないことが多いです。
実際には以下のように利用されるイメージとなります。
http://IPアドレス:ポート番号/パス
例1)http://192.168.X.X:8080/test/index.html
※パスは、サーバ上のファイル住所を示すものとなります。
※IPアドレスやDNS自体も詳細は、それだけで本が一冊かけるぐらい奥の深いものなので、
ここでは省略させていただきますが、興味のある方は調べてみると良いでしょう。
4.HTTPプロトコルとTCP/IPプロトコルの関係
簡単にいうと、TCP/IPという土台の上でHTTPが利用されるイメージ。
このあたりはOSI参照モデルというものがあって、以下のようにレイヤーという概念で分かれている。
階層 | 名称 | 機能 |
第7層 | アプリケーション層 | アプリケーション間でのデータのやり取りを規定する |
第6層 | プレゼンテーション層 | データの表現方法を規定する |
第5層 | セッション層 | セッションの手順を規定する |
第4層 | トランスポート層 | 各コンピュータ上で実行されている、2つのアプリケーション間での通信方法を規定する |
第3層 | ネットワーク層 | ネットワーク上の2つのコンピュータ間での通信方法を規定する |
第2層 | データリンク層 | 1つのネットワーク媒体に接続された複数のコンピュータの間でデータを伝送する方法を規定する |
第1層 | 物理層 | コンピュータのデータとネットワーク媒体上を流れる電気的な信号を変換する方法を規定する |
OSI参照モデル |
上記でいうと、IPは第3層、TCPは第4層、HTTPは第7層
ネットワークエンジニアの方と話す時は、上記概念がないと何の話をしているのか混乱すると思われる。
以上WEBの概念でした。
次回はサーバ構築で、次次回はアプリケーションの仕組みについて予定しております。