3章HTTP/1.0のセマンティクス:ブラウザの基本機能の裏側

_images/ch03_header.jpg

Roy Fieling氏の論文に掲載されているキャッシュ(cache)の図。キャッシュを表す記号として$(cash)が利用されている

2章ではHTTPの基本の4要素について説明しました。

  • メソッドとパス

  • フィールド

  • コンテンツ

  • ステータス

ウェブブラウザはこれらの箱にデータを入れて送信したり、あるいはサーバーからのレスポンスで送られてきた箱からデータを取り出したりして、サーバーとやりとりを行います。ウェブの高度化に従ってさまざまな機能が追加されていますが、特にフィールドという仕組みの中で多くの機能が実現されています。本章では、ブラウザがどのようにこれらの仕組みを応用して基本機能を実現しているかを見ていきます。本章でも、前章同様に必要に応じてcurlコマンドを利用して、ブラウザのふるまいを理解していきます。

3.1 シンプルなフォームの送信(x-www-form-urlencoded)

まずは前章であまり触れなかった、コンテンツ周りの知識を固めていきましょう。HTTP/1.0のリクエストとリソースが1:1に対応したコンテンツの受信に関しては2章で説明しました。JavaScriptのAPIを使うと、同様に送信も可能ですが、本節と次節では、少し複雑な、フォームの送信について説明していきます。

これに加えてHTTP/1.1には範囲アクセスという特殊なリクエスト方法があります。これに関してはHTTP/1.1の章で紹介します。 ...