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

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

  • メソッドとパス

  • ヘッダー

  • ボディ

  • ステータス

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

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

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

note

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

フォームを使ったPOST送信にはいくつか方式があります。まずは、一番シンプルな送信方式について紹介します。

<form ...