HTML
- タグに囲まれた文章
- タグ:囲んだ文章が「何を示すか」を表すもの。開始タグと終了タグからなる。
- 要素:「開始タグ・文章・終了タグ」のかたまり。そのかたまりが「何を示すか」は「要素名」という。
- 1つの要素は、「<要素名>文章</要素名>」で記述される。
- html要素を起点とした要素の階層構造になっている。
See the Pen Untitled by nomi-kazu (@nomi-kazu) on CodePen.
Webページで使用される画像形式
画像形式 | 画像 | 圧縮率 | 透過処理 | アニメーション |
---|---|---|---|---|
JPEG | 最大1677万色 | 非可逆圧縮 | できない | できない |
PNG | 最大1677万色 | 可逆圧縮 | 特定の領域の透明度を調整できる | できない |
GIF | 最大256色 | 可逆圧縮(最大色数が少ないため他の形式より表現力が落ちる) | 特定の色の透過色を指定できる | パラパラ漫画のようにアニメーションで表示できる |
XML
- HTMLもXMLも元はSGML(Standard Generalized Markup Language)から派生してできた。
- HTMLと同じマークアップ言語だた、さまざまな用途で汎用的に利用できる。
- 目的に応じてタグを自分たちで定義できる。
- HTML同様、開始タグと終了タグで文章を囲む。
- 自由な形式で構造化されたデータを表現できる。
<書籍 名前="Web技術のすべて" 発行年="2100年">
<目次>
・
<項目>Webとは</項目>
・
・
・
・
</目次>
</書籍>
-
XHTML(Extensible HyperText Markup Language)
- HTMLをXML文法で再定義したもの。
- XML宣言から始まる。
- 必ず開始タグと終了タグで文章を囲む。
- 開始タグのみの形式は許されないため、終了タグを付けるか、末尾に" />"をつけて終了を表す。
- XHTMLに埋め込まれて利用されるXML文書の例
- MathML(XMLで記述された数式)
- SVG(XMLで記述された画像)
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta charset="utf-8">
<title>〇〇のWebページ</title>
</head>
<body>
<h1>〇〇へようこそ</h1>
はじめまして。<u>〇〇</u>です。<br></br>
<img src="image.png">
これは、<a href="http://example.com/link.html">リンク</a>です。<br />
</body>
</html>
CSS
- HTMLやXMLの表示方法(体裁)を表現する記述。スタイルシートとも呼ぶ。
See the Pen 1 by nomi-kazu (@nomi-kazu) on CodePen.
凝った体裁にしようとするとHTMLが複雑化してしまう。See the Pen Untitled by nomi-kazu (@nomi-kazu) on CodePen.
CSSを使うと、構造と体裁の記述を分離でき、シンプルになる。- サイト内でCSSを共有することでWebサイト内の表示を統一できる。
- 複数のCSSを利用することもできる。
スクリプト言語
- 動的処理に使われる。
-
サーバーサイド・スクリプト
- CGIから呼び出すため、HTMLと別ファイルにする。
- この言語でないと実現できないという機能の違いはほぼない。
言語 | 特徴 |
---|---|
Perl | ・文法の自由度が高い ・歴史が古く、広く使われている |
PHP | ・CGIを使わなくてもHTMLに埋め込んで使うことができる |
Python | ・スクリプトの可読性が高い ・文法の自由度は低い |
Ruby | ・オブジェクト指向プログラミングに適している ・Perlに近い性質をもつ |
- クライアントサイド・スクリプト
DOM
- HTMLやXML文書を扱うための手法(API)。
- プログラムからHTMLやXMLの各要素を容易に参照・制御できる。
-
DOMツリー:DOMでは対象となる文書の各要素を抽出し、それらを階層構造として扱う。この階層構造が文書の最上位の要素を頂点(根)として、それぞれの下位の要素が木の枝のように分かれていく木構造(ツリー構造)のこと。
- ノード:木構造の枝葉の部分。DOMではこのノードをたどっていくことで目的のデータにアクセスし、参照や編集を行う。
JSON
- 構造化したデータを表すためのデータ記述言語の一種。
- データを階層的に並べることで構造を表現する。
- [ { , : などの記号で親子、並列などの関係を表す。
- 文字数が少なくなるため、データサイズは小さくなるが、可読性は低くなる。
[
"名前": "Web技術",
"発行年": "2100年",
"著者": [
"田中太郎",
"佐藤聡"
],
"目次": {
"章": [
{
"章番号": 1,
"項目": [
"Webとは"
"インターネットとWeb"
]
},
{
"章番号": 2,
"項目": [
""
""
]
}
]
}
]
- JSONはWebの世界では使いやすい。
フィード
- Webサイトなどの更新履歴を配信するためのファイル。
- 更新頻度が高いブログやニュースサイトなどで使われている。
- Webサイトに訪問しなくても、フィードを取り込むだけでWebサイトのどこが更新されたかを知ることができる。
-
フィードリーダー
- Web上のフィードを取得し、管理するためのソフトウェア。
- フィードアグリゲーター、RSSリーダーともいう。
- フィードから新しい情報を効率よく取り込むために、登録したWebサイトのフィードを定期的に自動チェックして見やすく表示する。
-
ポッドキャスト
- Webサーバー上に音楽や動画を配置し、RSSを通してWeb上に公開することで音楽をインターネット上で配信する手法。
- RSSを使うことで、ブログのように手軽に音楽や映像を公開できる。
マイクロフォーマット
- HTMLやXHTMLで記述されたWebページの中に意味を表現する記述を埋め込むための書式。
- 埋め込まれた情報は外部コンピューターから読み込んで利用でき、これを有効活用することでコンピューターが自律的に情報の意味を理解して処理するセマンティックWebを実現できる。
hCard(連絡先情報)
<ul class="vcard"> <!-- 連絡先情報であることを示す -->
<li class="fn">佐藤 聡</li> <!-- 氏名 -->
<li class="nickname">さとしくん</li> <!-- ニックネーム -->
<li class="bday">1999/1/1</li> <!-- 誕生日 -->
<li class="org">株式会社ビター</li> <!-- 組織 -->
<li class="tel">090-123-××××</li> <!-- 電話番号 -->
<li class="email">satoshi@email.com</li> <!-- メールアドレス -->
<li class="url">http://satosatoshi.com</li> <!-- Webアドレス -->
</ul>
hCalendar(イベント情報)
<p class="vevent"> <!-- イベント情報であることを表す -->
<span class="summary">球技大会</span> <!-- イベント内容 -->
<span class="dtstart">2000-01-01T14:00:00</span> <!-- 開始日時 -->
<span class="dtend">2000-01-01T18:00:00</span> <!-- 終了日時 -->
<span class="location">多目的グラウンド</span> <!-- 場所 -->
<span class="url">http://kyugievent.com</span> <!-- Webアドレス -->
</p>
主なマイクロフォーマット
名前 | 用途 |
---|---|
hAtom | 標準のHTML内に埋め込むAtomフィード |
hCalendar | イベント情報 |
hCard | 連絡先情報 |
hReview | 書評などのレビュー |
hResume | 履歴書 |
音声・動画配信
- データ圧縮にはコーデックというソフトウェアが用いられ、圧縮することをエンコード、再生するために伸帳することをデコードという。
主なコーデック
音楽用コーデック | 拡張子 | 説明・用途 |
---|---|---|
AAC | .aac、m4aなど | iPod、着うた |
MP3 | .mp3 | 携帯音楽プレーヤー |
Windows Media Audio(WMA) | .wma | パソコン向け音源 |
動画用コーデック | 拡張子 | 説明・用途 |
---|---|---|
MPEG-4 | .m4v、mp4など | スマホ向け動画 |
Windows Media Video | .wmv | パソコン向け音源 |
MPEG-2 | .mpg、.m2p | DVD、地デジ |
-
動画・音声の配信形態
メディアタイプ
メディアタイプ | 説明 |
---|---|
screen | パソコンのスクリーン |
tty | 文字幅が固定の危機 |
tv | テレビ |
projection | プロジェクター |
handheld | 携帯機器 |
プリンター | |
braille | 点字ディスプレイ |
embossed | 点字プリンター |
aural、speech | 音声合成機器 |
all | すべてのメディア |
- メディアタイプの指定
- HTMLではlink要素のmedia属性を使用。
- CSSでは
@media
ルールを使用。
<html>
<head>
<link rel="stylesheet" type="text/css" media="screen, tv" href="screen.css">
<link rel="stylesheet" type="text/css" media="handheld" href="handheld.css">
<link rel="stylesheet" type="text/css" media="print" href="print.css">
</head>
<body>
本文
</body>
</html>
@media screen, tv {
body {font-size:large;}
}
@media handheld {
body {font-size:small;}
}
@media print {
body {background: white; color:black;}
}
参考:Web技術の基本