ブログパーツ レンタルCGI
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪08月   2017年09月   10月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  
ESP8266でHTTP通信を試す・その4
 こちらの続きです。 タイトルのESP8266が登場しませんが、しばらくは操作の便利なパソコンで試してみる事にしています。
 HTTP通信の雰囲気が少し分かってきた所で、色々な解説記事のあるHTTP通信の実際をもう少し詳しく調べてみる事にしました。 HTTP通信に関しての解説記事は沢山あるのですが、触った事のない者(私!)にとってはなかなか理解が進みません。 そんな中で、こちらの記事に「手入力のHTTPクライアント・サーバごっこで理解するHTTP」というのがありました。 日頃は何気なく使っているwebブラウザとwebサーバー間のやりとり(HTTP通信)を手入力で試してみて理解を深めるという物のようです。 これなら、分かり易そうという事で、早速試してみました。

 実例はLinuxで試す様になっていますが、色々使い慣れているWindows で試す事が出来ないかと調べていたら、ちょうど都合の良い物がありました。 先日、リリースされた「Ubuntu on Windows」という物です。 これで、Windows上でUbuntu (bash)を走らせて、その上で、記事の実例を試してみました。 幾つかの実例を試してみた所、この実例に関しては、「Ubuntu on Windows」は完全に問題なく動作しているようです。

 さて、まずは、Windows 画面上に2つのコマンドプロンプト画面を開き、上をサーバー側画面、下をクライアント側画面とします。 そして、それぞれの画面で「Ubuntu on Windows」を起動させます。 「cd」は、カレントパスが長くなっているので、取り敢えずユーザールートに移動する為です。 まずはサーバーとクライアントをtcp環境のtelnet接続で繋いでみます。

 サーバー:  nc -l 8080        :ポート8080を監視開始
 クライアント: telnet localhost 8080 :telnetでlocalhostの8080経由で接続
 
 接続されたら、サーバーからクライアントへ、クライアントからサーバーへ、それぞれ試しに文字を送ってみます。

170327_esp8266_http_14.jpg

 続いて、同じ環境で、サーバー側をwebサーバーに見立て、クライアント側をwebブラウザに見立てて試してみます。

 tcp環境でtelnet接続するまでは上の例と同じです。 上の文字のやりとりの変わりに、今度はHTTP通信に則ったrequestとresponseをやりとりしてみます。 以下、tcp環境でのtelnet接続が確立した後のやりとりです。

 クライアント(webブラウザ)側: HTTP request (GET文)送信
 サーバー(webサーバー)側: HTTP response (ステータスとHTTP本文)返送

 取り敢えず、ここまでは、telnet接続で普通の文字やりとりの代わりに、HTTP通信に則った文のやりとりをしただけです。

170327_esp8266_http_15.jpg

 telnet接続でHTTP文のやりとりが上手く行っている状況で、今度は、クライアント側を実際のwebブラウザに置き換えてみます。 サーバー側は上の状態と同じままで、言わば手入力のwebサーバーの役割をさせておきます。

 クライアント(webブラウザ)側: 通常のブラウザでurlを入力する部分にIPアドレスとポートを入れて送信すると
                 HTTP request (GET文)が送信されるみたい。
                 手入力の時よりも沢山の付随データがおくられるみたい。
 サーバー(webサーバー)側: HTTP response (ステータスとHTTP本文)返送
               簡単なwebページのHTTP文を送ってみる
 クライアント(webブラウザ)側: 簡単なwebページが表示された。

 今まで、何気なくwebブラウザやwebサーバーを使っていましたが、「裏」ではこんなやりとりが延々となされているのですね。 手入力のHTTP文が、日頃使っているwebブラウザに表示された時は「おおっ!」て感じでしたね。

170327_esp8266_http_16.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ .