HTTP通信の中身は、基本的にテキストベース。
ただし、テキストを使ってHTTP通信を開始するには、
TCP/IP通信でサーバーとクライアントが接続されている必要がある。
HTTPだけでは、URLからIPアドレスへの変換や、サーバーへの経路探索、
コネクションの確立などの動作はできない。
つまり、HTTPというのはTCP/IPで接続された上を、
テキストでやり取りする仕組みといえる。
メールで使われているプロトコルのSMTPやPOP3なども同様。
HTTP通信の中身を確認するためには、
Webサーバーとどのような通信を行なっているかを確認する。
モニタリングソフトを使うと、実際に
モニタリングソフトは基本的にHTTだけを監視するわけではなく、
TCP/IP通信全体を監視するため、慣れるまで必要な通信を探し出すのは
少し大変かもしれない…
TCP/IPをモニタリングすることで、
「PCは想像以上に様々な通信を裏で行なっている」
ことに気づくと思う。
接続先として、WebサーバーのURLまたはIPアドレスとポート番号「80」を指定し接続する。
そして、表示される画面上に
"GET / HTTP/1.0"
と入力して、「Enter」を入力すると、WebサーバーからレスポンスやHTTPヘッダー、
要求されたページのHTMLデータがテキストで返ってくる。
ただし、HTTPの接続は持続的な接続をしないため、サーバー側がHTMLデータの
レスポンス送信が終わると切断される。
この影響で、クライアントソフトによっては、通信終了時にウィンドウが閉じてしまう場合がある。
通信終了に閉じる機能を無効化するオプションがあれば、設定しておくことをオススメしたい。
クライアントソフトを使わずに、C#やVisual Basicなどのプログラミング言語を使って
HTTPによる通信を行う場合、ソケット通信という形でサーバーと接続し、GETなどの
HTTP命令をテキストで送信すればWEBサーバーと通信できる。
ただし、テキストを使ってHTTP通信を開始するには、
TCP/IP通信でサーバーとクライアントが接続されている必要がある。
HTTPだけでは、URLからIPアドレスへの変換や、サーバーへの経路探索、
コネクションの確立などの動作はできない。
つまり、HTTPというのはTCP/IPで接続された上を、
テキストでやり取りする仕組みといえる。
メールで使われているプロトコルのSMTPやPOP3なども同様。
HTTP通信の中身を確認するためには、
- ブラウザとサーバー間をモニタリングする
- 手動でサーバーとやり取りする
ブラウザとサーバー感をモニタリングする
TCP/IPのモニタリングソフトを使ってブラウザなどのアプリケーションがWebサーバーとどのような通信を行なっているかを確認する。
モニタリングソフトを使うと、実際に
- ブラウザがWebサーバーに送っているリクエスト
- Webサーバーがブラウザに返しているレスポンス
モニタリングソフトは基本的にHTTだけを監視するわけではなく、
TCP/IP通信全体を監視するため、慣れるまで必要な通信を探し出すのは
少し大変かもしれない…
TCP/IPをモニタリングすることで、
「PCは想像以上に様々な通信を裏で行なっている」
ことに気づくと思う。
手動でサーバーとやり取りする
"TeraTerm"や"Putty"などのTelnetやSSHクライアントソフトを利用して行う。接続先として、WebサーバーのURLまたはIPアドレスとポート番号「80」を指定し接続する。
そして、表示される画面上に
"GET / HTTP/1.0"
と入力して、「Enter」を入力すると、WebサーバーからレスポンスやHTTPヘッダー、
要求されたページのHTMLデータがテキストで返ってくる。
ただし、HTTPの接続は持続的な接続をしないため、サーバー側がHTMLデータの
レスポンス送信が終わると切断される。
この影響で、クライアントソフトによっては、通信終了時にウィンドウが閉じてしまう場合がある。
通信終了に閉じる機能を無効化するオプションがあれば、設定しておくことをオススメしたい。
クライアントソフトを使わずに、C#やVisual Basicなどのプログラミング言語を使って
HTTPによる通信を行う場合、ソケット通信という形でサーバーと接続し、GETなどの
HTTP命令をテキストで送信すればWEBサーバーと通信できる。