当記事では、Linuxでのtelnetを利用したWebの通信についてご紹介します。
【HTTPについて】
Webの通信に利用されるHTTP(Hypertext Transfer Protocol)は、クライアントがサーバにリクエストメッセージを送信し、それに対してサーバ側がレスポンスメッセージを返す、リクエスト-レスポンス型のプロトコルです。
クライアントからのメッセージは非常に単純で、「何を」「どうして」欲しいのかを伝える内容になっています。
今回はLinuxでWebブラウザを使わずに、telnetを利用してWebサーバと通信を行う方法をご紹介いたします。
Linuxでのtelnetコマンドの使い方
ドメイン名又はIPアドレスとポート番号(80)を指定して、Webサーバに接続します。
[ telnet WebserverのIPアドレス or ドメイン名 ポート番号 ]
▽ IPアドレスを指定した場合。
▽ドメイン名を指定した場合。
Getの実行
(※Get-HTTPで定義されているメソッドの1つ。指定されたURIのリソースを取り出す最も基本的な動作。)
[ GET / HTTP/1.1 ] (今回HTTPのバージョンは1.1を指定しております。)
[ Host: ドメイン名or IPアドレス ]
補)バージョン1.1からは一台のサーバで複数のWebサイトを運用するバーチャルサーバに対応するため、hostヘッダが追加されています。
ここで、ブラウザを利用した時との表示内容の違いを見てみましょう。
- ブラウザを使った通信によって表示される内容。
- telnetによって得られるソースコード部分(図5)
やり取りしている内容は同じでも、見え方が違います。
telnetはソースコードをそのまま表示するのに対して、ブラウザはソースコードの内容をルールに基づいて解釈し、表示してくれています。
このようにtelnetを使ってWebサーバと簡単なやり取りをすることができます。
ご自身でWebサーバを構築した際の確認や、Web通信のやり取りの学習に是非お役立て下さい。