5章HTTP/1.1のセマンティクス:広がるHTTPの用途

HTTP/1.1の時代になると、インターネットは一般の人にも広く使われるようになり、またフィーチャーフォンやスマートフォンを通じていつでもどこでもアクセスすることが当たり前になりました。ウェブのためのネットワークが構築され、家庭にも常時接続回線がやってきてルーターが設置され、何台ものコンピュータやスマートフォンがそこにぶらさがるようになっています。テレビやBlu-Rayプレーヤーといった家電製品もインターネットにつながり始めました。HTTPはHTMLを取得してくるだけのプロトコルから、汎用的に使われるプロトコルへと応用範囲を広げています。

筆者の元同僚の@sonots氏はHTTPについて次のように述べていました。

HTTPロードバランサーのような、HTTP向けのハードウェアやミドルウェアはすでに多数存在している。
Over HTTP でデータを流すようにすればそれらの恩恵にあずかれる。HTTPはまさにインフラである。

本章ではHTTP/1.1以降で拡張されたプロトコルや規約を使った、さまざまな事例を紹介します。本章で紹介するのは次のような項目です。事例にはブラウザとサーバーの約束事もありますし、汎用アプリケーションへの応用例もあります。

  • ファイルのダウンロード(ファイル名指定)

  • ダウンロードの中断・再開(範囲アクセス)

  • XMLHttpRequest

  • Geo-Location

  • X-Powered-By

  • リモートプロシージャコール

  • WebDAV

  • ウェブサイト間で共通の認証・認可プラットフォーム

5.1 ファイルをダウンロードした後でローカルに保存

ブラウザがファイルをどのように処理するのか決めているのは、拡張子ではなくサーバーから送られてくるMIMEタイプでした。画像ファイル単体へのリンクをブラウザで開いたときに、 ...