====== 【情報リテラシー】第9回 HTML -Webページ作成1- ======
===== URLと通信プロトコル =====
Firefox などの Web ブラウザで Web ページにアクセスすると、アドレスバーに以下のように表示される。
{{ firefox_addressbar.png?nolink |アドレスバー}}
__**URL(Uniform Resource Locator)**__ とは、インターネット上で Web ページなどの場所を示す住所である。
URL は以下のように「''/''」でいくつかの部分に分けられる。
{{ html_url.png?nolink |URL}}
普段よく目にする URL はスキーム名が「http」か「https」のものである。
----
==== HTTP ====
スキーム名「http」は __**HTTP(Hypertext Transfer Protocol)**__というプロトコルを使うことを意味している。
Web ブラウザがサーバとメッセージやデータをやりとりする際に使用する通信プロトコル(通信のための手順)の一つである。
HTTP ではメッセージを平文((「ひらぶん」と読む。暗号化されておらず普通に読める文章のことを言う。))のままで送受信するため、通信内容が容易に盗み見されたり改ざんされたりする。
このため、パスワードやクレジットカードの番号など、他人に見られてはいけないメッセージを HTTP で送るのは危険である。
----
==== HTTPS ====
スキーム名「https」は __**HTTPS(Hypertext Transfer Protocol Secure)**__ というプロトコルを使うことを意味している。
HTTPS では SSL/TLSプロトコルを用いて__**HTTP の暗号化**__や__**サーバの認証**__を行う。
通信内容が盗み見されても暗号化されているので安全((盗み見されて復号される可能性はゼロではない。))である。
HTTPS で通信が暗号化されていても、そのサーバが信頼できるかは別問題である。
HTTPS では、信頼できる__**認証局**__によって発行された__**サーバ証明書**__によってサーバの場所と運営者の信頼性を担保する仕組みがある。
これは、Web ブラウザのアドレスバーに表示される__**鍵マーク**__によって確認できる。
パスワードやクレジットカードの番号などを入力する際は、ちゃんと鍵マークがついているか確認した方がよい。
Web ブラウザによって登録されている認証局は異なる。
例えば、Firefox では以下の認証局が登録されている。
* https://curl.haxx.se/ca/cacert.pem
あまり有名でない認証局だと Web ブラウザによっては登録されていない可能性がある。
{{ http_https.png?nolink |HTTPとHTTPSの違い}}
===== Webページ作成の準備 =====
自分用の Web ページを作成する。
大学のサーバ roy で公開される自分用の Web ページは
http://roy.e.koeki-u.ac.jp/~ユーザ名/
という URL になる。
「ユーザ名」は自分のユーザ名で置き換える。
** ゆっくりしていってね![氏名]のホームページ
これは HTML の仕様を宣言するもので、とりあえず書いておくとよい。
----
==== タグと要素 ====
HTML ファイルの中には「''<''」と「''>''」で囲まれた部分がたくさんある。
* 「''<''」と「''>''」で囲まれた中の単語を__**タグ名**__といい、「''<タグ名>''」もしくは「''タグ名>''」を__**タグ**__という。
* 「''<タグ名>''」を__**開始タグ**__、「''タグ名>''」を__**終了タグ**__という。
* 同じタグ名の開始タグから終了タグまでを__**要素(エレメント)**__という。タグは要素の開始と終了を区切るために使用される。
* 同じタグ名の開始タグから終了タグではさまれた部分を__**コンテンツ**__という。
* 開始タグには空白で区切って複数の__**属性**__を入れることができる。
* 開始タグだけで終了タグのない要素を__**空要素**__という。
{{ html_element.png?nolink |要素}}
タグ名では大文字と小文字は区別されないが、同じ HTML 文書内ではどちらかに統一した方がよい。
開始タグと終了タグの間は改行してもしなくても Web ブラウザの表示で違いはない(pre 要素を除く)。
HTML 文書が見やすいように適宜改行して構わない。
要素の中にはさらに要素を入れ子にすることができる。
上の index.html の例でいうと、html 要素の中には head 要素や body 要素があり、さらに head 要素の中には meta 要素や title 要素がある。
html要素
├── head要素
│ ├── meta要素
│ └── title要素 "My Home Page"
└── body要素
├── h1要素 "[氏名]のホームページ"
└── p要素 "ゆっくりしていってね!"
===== 要素 =====
^ 要素 ^ タグ ^ 意味 ^ 置ける場所 ^ writerとの対応 ^
| html | ''%%...%%'' | HTML 文書そのものの要素である。 | | |
| head | ''%%
...
%%'' | 段落を示す要素である。 | body 要素内 | 段落 | ---- ==== html要素 ==== HTML 文書の先頭部分にある開始タグ「''''」は「ここから HTML 文書が始まる」ことを意味し、末尾にある終了タグ「''''」は「HTML 文書はここまで」ということを意味する。 どのような HTML 文書も一つの html 要素で作られる。 html 要素の中は、**
----
==== head要素 ====
head 要素は HTML 文書のメタデータを含む要素である。
__**メタデータ**__とはデータを説明するためのデータという意味である。
----
==== meta要素 ====
meta 要素にはメタデータを属性として記述する。
meta 要素は head 要素内に置くことができる。
これは属性 charset を使って、この HTML 文書の文字エンコーディングを UTF-8 に指定するということを意味する。
日本語の文書の場合は、とりあえずこれを書いておくとよい。
----
==== title要素 =====
title 要素には HTML 文書のタイトル(表題)を記述する。
Web ブラウザでは、タイトルは本文中には表示されず、ウインドウの上方のタイトルバーに表示される。
title 要素は head 要素内に**''」「''
''」ではさむことで、どこからどこまでが段落かがすぐに分かるようになる。 「''''」では自動的に改行される。 HTML 文書で改行していても、Web ブラウザの表示では改行とみなされないのが一般的である。 改行とみなしてもらうための br 要素「''