メインコンテンツにスキップ

ホーム HTML5

HTML5

HTML5の定義

HTML5は、HTML((ハイパーテキストマークアップ言語)標準の第5版であり、最新のメジャーバージョンです。 HTMLは、ウェブページ上でコンテンツを作成し表示するために使用される標準言語です。

HTML5は、人間が読みやすく、コンピューターやデバイスが一貫して理解できるよう保ちつつ、最新のマルチメディアをサポートする言語を改善するために生まれました。 ウェブアプリケーションやより豊かなマルチメディア要素の必要性が高まるにつれ、ウェブがより複雑になることに対応しています。

併せてこちらもご参照ください: HTMLインジェクション

HTML(旧)とHTML5の違い

  • 構造。HTMLは、主にコンテンツの構造化に焦点を当てた基本的な構造を持っているのに対し、HTML5は、追加の意味論的要素(記事など)を備えた強化された構造を持っています。
  • マルチメディア。 HTMLは音声や動画を再生するのにサードパーティのプラグイン(Flashなど)を必要とします。 一方、HTML5はプラグインなしでオーディオタグとビデオタグに対応しています。
  • グラフィック。 HTMLにはネイティブ描画機能がなく、外部ソリューションに依存していますが、HTML5ではユーザーが <canvas> 要素を使って図形が描けるようになっています。
  • ストレージ。 HTMLは少量のデータストレージにCookieを使用しますが、HTML5のストレージ機能ははるかに優れています。
  • 接続性。 HTMLはサーバー通信の効率が低い一方、HTML5はリアルタイムのサーバー通信(例:WebSockets)が可能です。
  • デバイスへのアクセス。 HTMLはデバイス固有の機能へのアクセスが制限されている一方、HTML5は位置情報などデバイス機能へのアクセスが大幅に改善されています。
  • フォームコントロール。 HTMLには基本的なフォーム入力タイプがありますが、HTML5にはユーザー入力を改善するための新しい入力タイプ(日付など)があります。

HTML5のセキュリティ上の懸念

  • ウェブストレージ。 HTML5のローカルストレージ機能は、攻撃者が悪意のあるスクリプトを保存したり機密情報を取得したりするために悪用される可能性があります。
  • 地理位置情報API。 適切に管理されていない場合、ユーザーの物理的な位置情報が漏洩する可能性があります。
  • 新機能: WebSockets、Web Workers、および <canvas> 要素は、適切に実装されていない場合、悪用される可能性のある新しい領域の入り口となります。
  • クロスオリジンリクエスト。 HTML5は異なるドメインへのリクエストを可能にする仕組み(CORS)を提供していますが、設定ミスにより意図しないアクセスを許す可能性があります。