正男 「ちなみにブラウザはどのWebサイトもきちんと見られるようになっていますが、2ちゃんねるやニコニコ動画などの専用ブラウザは、そのWebサイトが見やすいように特別に調整されているから『専用』なんですね」
芽衣子 「そっか、普通に見るより見やすいから専用ブラウザを使ってるんだけど、その普通がただのブラウザってことね」
ブラウザ名 | 使用可能なOS |
---|---|
Internet Explorer(リンク) | Windows |
Firefox(リンク・参照記事:プラグインで、Webブラウザをもっといろいろできる子に) | Windows/Mac/Linux |
Safari(リンク) | Windows/Mac |
Chrome(リンク・参照記事:GoogleChromeの隠し機能を使いこなしていますか?) | Windows/Mac |
Opera(リンク) | Windows/Mac/Linux |
ちょっとだけ芽衣子さんは賢くなった気がしました。
正男 「さて、ブラウザのことも分かったと思いますので、HTTPの仕組みについて説明します」
芽衣子 「そうですか、まだこれからですか……」
若干飽き気味の芽衣子さんですが、説明は続いていきます。
正男 「HTTPのポートは80です」
芽衣子 「前はWebだっていってた記憶があるけど、WebとHTTPって一緒なのよね」
成沢 「そうだ」
正男 「HTTPの仕組みは簡単です。ブラウザからhttpサーバに接続して、命令を送るとそれに対応したデータが送られてきます」
芽衣子 「ふーん」
正男 「例えばhttp://bogus.jp/index.htmlを見たいときには、アドレスバーにhttp://bogus.jp/index.htmlと入力しますが、その際にブラウザからWebサーバに送られる命令は、
GET /index.html HTTP/1.1
Host: bogus.jp
みたいな感じです。それに対してサーバがindex.htmlのデータを送るというわけです」
芽衣子 「ブラウザって裏ではこんなことやってんのね」
正男 「送られてくるデータの中身はブラウザの『ソース』を見れば分かります」
<ソースを表示>
正男 「また、掲示板などに書き込むときなど、こちらからデータを送信したいようなときには、
POST /board.php HTTP/1.1
というPOST命令が使われることもあります。大体、このGETとPOSTの2つの命令だけでWebの仕組みはできているのですよ」
芽衣子 「へえ、ややこしいことも実は単純な仕組みでできてたりするのね」
正男 「取りあえず、生のデータということで、telnetを使って見てみましょう」
とコマンドプロンプト※を立ち上げて。説明を続けます。
正男 「プロンプトから、
C:\>telnet www.atmarkit.co.jp 80
と入力すると、www.atmarkit.co.jpのWebサーバに接続します。次に、
GET / HTTP/1.1[Enter] Host: www.google.co.jp[Enter] [Enter] [Enter]
と入力すると(Windowsでは画面に表示されません)、データが送られてきます」
芽衣子 「うわ、また黒いハッキングツールですね」
成沢 「ただのコマンドラインに何をうろたえとるか」
正男 「送られてくるデータは基本的にソースの内容と同じですが、最初の方が少し違います」
HTTP/1.1 200 OK Date: Thu, 19 Mar 2009 07:34:24 GMT Server: Apache Last-Modified: Tue, 06 Jan 2009 08:09:11 GMT ETag: "17a00c6-c53-496311a7" Accept-Ranges: bytes Content-Length: 3155 Connection: close Content-Type: text/html
のようなものがあると思いますが、これがレスポンスヘッダといって、ブラウザには表示されない情報になっています。このデータを見て、ブラウザは送られてきたデータを処理していきます」
そういったところで正男さんの携帯が鳴り響きます。
正男 「……、は、はい。……、では、今日はここまで」
正男 「次回はもう少し深くHTTPの内容について見ていくことにしましょう」
芽衣子 「もっとゆっくりのんびり教えてくださいよ」
成沢 「本社が大変な状況なのに、よくそんな悠長なことをいってられるものだ!」
成沢さんが一喝します。が芽衣子さんは内容にびっくりです。
芽衣子 「本社大変なんですか??」
正男 「うわ、それはいっちゃダメですよ。秘密ですよ」
成沢 「ああっ、いまのナシ。聞かなかったことにしてください」
芽衣子 「いいわ、黙っといてあげる」
ニヤリと笑う芽衣子さんでした。
今回のおさらい
基本的にブラウザを使って見るページはHTTPと考えてもらえばいいと思います
ブラウザを使えばftpなどほかのサービスも使うことはできますが、ややこしくなるのでここでは触れないことにします。
「そんなのあるの? あれってパソコンに備え付けじゃないの?」
世間一般にはOSとブラウザはセット、もしくはブラウザがOSだと思われているようです。
GET / HTTP/1.1 Host: bogus.jp
HTTP 1.1では Host:が必須です。
GETとPOST
GETとPOST以外にもHEADやTRACEなどの命令もありますが、普段使うことはありません。
GETには送信できるデータの長さに制限がありますが、POSTには基本的にないのが大きな違いです。
Copyright © ITmedia, Inc. All Rights Reserved.