「昔の遺産」を知ることで、今の技術がもっと好きになる。HTMLの`manifest`属性のお話
Web開発の世界に飛び込んだばかりのみなさん、こんにちは!
HTMLを書き始めると、タグの中に不思議な記述を見つけることがありますよね。「これって何だろう?」と調べ始めると、時には少し古い技術に出会うこともあります。
今回は、そんな「歴史の1ページ」とも言えるHTMLの`manifest`(マニフェスト)属性についてお話しします。「もう使わないの?」と思うかもしれませんが、「なぜ今、別の技術に置き換わったのか」を知ることは、Webの進化の物語を知ることでもあります。肩の力を抜いて、ちょっとした読み物感覚で読んでみてくださいね。
—
そもそも「manifest属性」って何者?
簡単に言うと、`manifest`属性は「Webページをオフラインでも見られるようにするための指示書」のようなものでした。
昔のWebサイトは、インターネットが切れると真っ白になって何も見られませんでしたよね。でも、スマートフォンの普及とともに「電波が悪い場所でも、一度見たページはサクサク表示してほしい!」というニーズが高まりました。
そこで登場したのが、この`manifest`属性です。
身近な例えでイメージしてみましょう
これを「お弁当の予約」に例えてみます。
- `manifest`属性: 「明日のお昼にこのお弁当を確実に持っていきたいから、事前にメニュー表(マニフェストファイル)を店員さんに渡しておく」という仕組み。
- 店員さん(ブラウザ): その予約票を見て、事前に食材(画像やスタイルシート)を冷蔵庫(キャッシュ)に入れておいてくれる。
こうしておけば、当日もし天候が悪くてお店に行けなくても(オフラインになっても)、冷蔵庫にあるものだけでお弁当(Webページ)が作れる!というわけです。
—
実際にどう書いていたの?
昔のコードは、以下のような形でした。``タグの中にひっそりと隠れていたんです。
こんにちは!オフラインでも表示されるかな?
この`example.appcache`というファイルの中に、「この画像と、このCSSと、このHTMLを保存しておいてね」というリストを書いていたんですね。
—
なぜ今は使わなくなったの?
「あれ? 便利そうじゃない?」と思いますよね。でも、この仕組みには「一度キャッシュされると、なかなか消えてくれない(更新が難しい)」という、現場泣かせの大きな弱点があったんです。
一度冷蔵庫に入れたお弁当のメニューが、いつまでも変わらないようなイメージです。せっかく新しいデザインに直しても、ユーザーのブラウザには古いキャッシュが残り続けてしまう……そんなトラブルが頻発していました。
そこで登場したのが、現代のヒーロー「Service Worker(サービスワーカー)」です。
今の主流:Service Worker
Service Workerは、単なる「予約票」ではありません。「自分専用のキッチンスタッフ」がブラウザの中に常駐しているようなものです。
- 「今はネットが繋がってるから、最新情報を取ってこよう」
- 「あ、ネットが切れた! じゃあさっき保存したデータを出そう」
こんな風に、状況に応じて賢く判断してくれるんです。`manifest`属性が「一度決めたら融通が利かない頑固な予約票」だったのに対し、Service Workerは「状況を見て柔軟に対応してくれる優秀なシェフ」だと考えてみてください。
—
まとめ:過去を知ることは、未来を照らすこと
今、もし誰かの古いソースコードで`manifest`属性を見かけても、「あ、これはかつてオフラインWebを支えた偉大な先人なんだな」と優しく見守ってあげてください。そして、もしあなたが今からWeb制作を学ぶなら、迷わず「Service Worker」というキーワードを調べてみてくださいね。
Webの技術は日々進化していますが、「ユーザーに快適な体験を届けたい」という根本の願いは、昔も今も変わりません。
HTMLのタグ一つひとつにも、そうした先人たちの挑戦や工夫が詰まっています。そんな背景を知ると、ただの暗号のようだったコードも、少しだけ愛着が湧いてきませんか?
また分からないことがあれば、いつでも聞きに来てくださいね。一緒に一歩ずつ、Webの深淵を覗いていきましょう!

コメント