読んだ感想:とても実践的でわかりやすい内容でした。古い本だから今でも通用するか心配していたが全く問題なくむしろ今まで読んだ技術書でトップレベルに読んでよかったと感じました。
例えばこんなことを学べますということをまとめます。
リクエストとは
Webサーバーに何かを要求することであり、レスポンスとはそれに対するサーバーからの返答である。
ステートフルとは
状態を持っていることである。反対にステートレスとは状態を持っていないことである。とりわけプロになるWeb技術入門では通信を例にこれらが説明されていた。例えばFTP通信は通信を開始してから、切断するまでお互いが繋がった状態である。明示的に通信を開始する、切断するとお互いに交信する必要がある。一方でHTTP通信は1回のリクエストに対して1回のレスポンスのみがあり、それ以降はお互いのブラウザとサーバーは通信状態ではなくなる。これは本に書いていないが、電話の同期通信とメールの非同期通信のようなものだ。
プロトコルとは
通信の約束ごとである。私たち日本人がコミュニケーションを取る時は日本語で話すという暗黙の約束事がある。タガログ語で話されても何を言っているかわからないだろう。同じようにコンピュータ同士が通信するにはお互いが同じコミュニケーションツールで通信するという約束をする必要がある。具体例としてはファイルの通信をするにはFTPを使い、HTMLを送るにはHTTPを使おうという約束事である。この約束事がお互いでズレていると、お互いが何を言っているかわからない状態になる。そして、ポート番号とは、このHTTPやFTPを番号で表したものである。例えばHTTPは80でFTPは20,21である。逆に言うと80や20,21という数字からHTTPやFTPを識別できる。
代表的なものは他にも
25SMTP
53DNS
110POP3
443HTTPS
などがある。
Cookieとは
ステートレスであるHTTP通信において通信をまるでステートフルのように持続的に通信しているかのように使えるようにしたものである。この技術によってログイン処理やおすすめ機能が出来るようになった。具体的には、例えばメールアドレスとパスワードのログイン処理では1度目の通信ではブラウザからサーバーにリクエストする時にリクエストボディにメールアドレスとパスワードを入れておくと、レスポンスではそのメールアドレスとパスワードのセットまたはそのセットだと識別できるセッションIDを返す。ログイン完了後、どこかのページを見るためのリクエストでは、リクエストボディにCookieを一緒に入れてリクエストする。こうすることでログイン済みのユーザーがページを見たいとリクエストしてきたと判別できる。