マークアップ言語
HTML(HyperText Markup Language)
HTMLは、Webに特化したマークアップ言語(文字データになんらかの情報や構造を持たせるもの)である。
HTML文書は、タグによって囲まれた文章によって構成される。タグは「開始タグ」と「終了タグ」からなる。開始タグ、文章、終了タグの塊を要素と呼ぶ。
HTMLの先頭におくDOCTYPE宣言は、バージョン形式を伝える。
開発当初は文書とリンクを表すだけのものであったが、バージョンアップにより機能が追加されていった。現在は2017年に勧告されたHTML5.2が最新版である。
XML(Extensible Markup Language)
XMLはHTMLと同じマークアップ言語であるが、HTMLに比べ、さまざまな用途に汎用的に利用できる。
XMLもHTMLも元は**SGML(Standard Generalized Markup Language)**を改良した言語である。HTMLはWeb文書(ハイパーテキスト)の記述に特化したのに対し、XMLは個別の目的に応じてタグを独自に定義することで汎用的に利用できる。
XHTML(Extensible HyperText Markup Language)
XHTMLは、HTMLをXMLの文法で再定義したものである。HTMLより書式が厳密になり、タグの省略や大文字の混在が許されなくなるなどの違いがある。
XHTMLはXMLの一種であるため、別のXMLで定義された文書をXHTML文書内に埋め込むことができる。埋め込み利用されるものとして、MathML(XMLで記述された数式)やSVG(XMLで記述された画像)などがある。
CSS(Cascading Style Sheets)
CSSはHTMLやXMLの体裁を表現する記述で、スタイルシートとも呼ばれる。
CSSが登場する以前は、HTML内で体裁を整えていたが、文書の構造の記述と体裁の記述が入り混じってしまっていた。CSS登場後は文書構造と体裁の棲み分けが可能になった。
よって、共通のCSSを適用させたり、クライアントの種類ごとに表示を切り替えるといったこともできるようになった。
画像データ
Webで扱われる画像データは、ネットワーク転送量を減らすため、基本的にデータサイズが小さくなる。
JPEG(Joint Photographic Experts Group)
Jpeg(ジェイペグ)形式は1667万色を扱えるため、写真の画像形式としてよく使われる。人間が気づかないデータを削ることで圧縮しているので、画質が劣化しやすい。
GIF(Graphics Interchange Format)
GIF(ジフ)形式は256食しか扱えないが、データの圧縮方法がJpegと異なるため画像の劣化が発生しない。
特定の色を透過色にしたり、複数のGIF画像を使ってアニメーションにしたりできる。
PNG(Portable Network Graphics)
PNG(ピング)形式はGIFの特許問題(GIFの圧縮技術の特許を持っていたUNISYS社の利用料請求)により開発されたもので、1677万色以上を扱える。
透明色が扱え画質の劣化が起きず、同じ内容でもGIFよりデータサイズが小さくなる。
音声・動画配信
インターネットでの転送時間短縮のため、音声・動画ファイルも画像ファイル同様にデータを圧縮する。
データ圧縮にはコーデックというソフトが用いられ、圧縮をエンコード、再生のために伸長することをデコードという。
音声ファイルではMP3やACC、動画ファイルではMPEG-4やWMVがある。
コーデック | 拡張子 | 説明・用途 |
---|---|---|
AAC | .aac .m4aなど | iPod 着うた |
WMA | .wma | PC向け音源 |
MPEG-4 | .m4v mp4など | スマホ向け動画 |
WMV | .wmv | PC向け動画 |
MPEG-2 | .mpg m2p | DVD 地デジ |
ダウンロード配信
音声・動画の配信方法は大きく分けて2種類ある。1つは「Webサーバーからダウンロードしてもらい、それを再生する」というダウンロード配信である。
ユーザーがファイル全体をダウンロードしてから再生する方法と、ファイルをダウンロードしながら再生する方法(プログレッシブダウンロード配信)がある(YouTubeやニコニコ動画など)。
しかし、配信したファイルはユーザーに残るため著作権のあるデータ配信には向いていない。
2つめは、この問題を解決するストリーミング配信である(AbemaTVやニコニコ生放送など)。この方法では、ファイルを細かく分割し、細切れにしたデータを配信する。再生したデータは都度削除されるので著作権問題は解決するが、細切れにして転送するためのストリーミングサーバーを用意する必要がある。