コマンドプロンプトだけでWebサイトを閲覧する Tweet
今回はWeb、その中でもHTTPの部分の話です。世の中にはさまざまなブラウザがあり、非常に高機能なものが多いです。でも、それらが提供している機能のうち一番の基礎となる通信部分に関してはかなりシンプルです。
HTTPとは
まず、はじめにHTTPとは何か?という点に関してです。HTTPはHyper Text Transfer Protocolの略で、Hyper Textを転送するための手続きだ、というわけですね。Hyper Textというのはテキストを超えるものだ、ということです。そして、Hyper Textを書く手段がHTMLで、そのHTMLを伝える手段がHTTPなわけです。このあたりはWikipediaに説明を譲ります。
要は世の中に沢山あるWebサーバーから情報をひっぱってこようとおもったら、HTTPでおしゃべりすればいい、ということです。
Webページを取得してみる
それでは実際にやってみましょう。やってみると簡単ですよ。簡単なページが良いので、いつものようにGoogleのページを引っ張ってきてみましょう。
まずは、googleのWebサーバーであるwww.google.co.jpに接続します。WebサーバーはTCPの80番で動作していますので80番に接続します。
1: C:>telnet www.google.co.jp 80
接続に成功すると何も表示されない状態になります。それで正常です。この状態でWebサーバーに対してページを要求します。以下のように入力します。
1: GET / HTTP/1.1
2: Host: www.google.co.jp
入力する際に、自分では自分が入力している文字が見えませんがそのまま打てば良いです。そして入力後にはEnterを2回押します。
これで以下のようにgoogleのトップページのHTMLが入手できます。
ブラウザでwww.google.co.jpのトップページに行き、ソースを表示すると、まったく同じものが入手できていることがわかると思います。ブラウザが裏でまったく同じ事をしている、ということが実感できるのではないかと思います。
説明すべきことはまだまだ沢山あるのですが、まずはこれが基本です。色々なWebサイトに対して接続、リクエストしてみて楽しんでみて下さい。
いつもありがとうございます。
とて参考にしています。
質問なのですが・・・・、「telnet http://www.google.co.jp 80」と入力しても
‘telnet‘は内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません
となるのですが、どうしたら良いでしょうか?
コメントありがとうございます。vistaか7をお使いですよね。ここの記事を参考にtelnetコマンドをインストールしてから試してみてください!http://www.atmarkit.co.jp/fwin2k/win2ktips/960vistelnet/vistelnet.html
きちんとかいていなくてすいません。また何かあったらコメントいただけると嬉しいです。
ご丁寧にありがとうございます。
おかげで、できました。
これからも頑張って下さい。
毎回毎回の記事を楽しみにしています。
crowさん。うまくできたようでよかったです。
「楽しみにしている」なんて言ってもらえると喜んでしまいます。更新頻度は低いですが、書き続ける予定ですので、よろしくお願いします。