WWW( World Wide Web )とはHTTP( HyperText Transfer Protocol )というプロトコルによってデータを送信するシステムのことでです。
ハイパーテキストと呼ばれる、リンクされた情報をたどってゆくことによって情報検索をしてゆくシステムです。
一般にWWWというときはWWWサーバーとWWWクライアント(ブラウザー)から成り立つシステムのことを指します。
WWWによってホームページを見る時には、ブラウザーと呼ばれるソフトを使用します。
現在、代表的なブラウザーとしては以下のものがあります。
上記のブラウザーでは、メール、ftp、telnet、newsなども利用でき、 プラグインやJava、VRML、JavaScript、VBscriptなどの言語によって様々な拡張ができる様になっています。
ブラウザーなどから、HTTPプロトコルによって送られてきた要求に応じてデータを送るのがWWWサーバーです。
現在、代表的なWWWサーバーは以下のものがあります。
Pythonによって、簡単にWWWサーバを起動することができます。
プロトコル(通信規約)とはコンピュータ間でデータなどを送受信する時の手順を決めた規則のことです。
インターネットでも用途によって、そのためのプロトコルが定められて使用されています。
インターネットで、よく使われる主なプロトコルの種類は以下の通りです。
WWWにおけるWebページは、 HTML というフォーマットのテキストファイルとして作られます。
ホームページを制作するためのソフトウエアは色々ありますが、
そのようなソフトを使っていても、どうしてもうまく行かないことがあります。
そういう時に、HTMLの文法を知っていると、どこが良くないかを見つけることができるので、
覚えておいて損は無いでしょう。
さて、基本的に
HTML はマークアップという方法で、データを作ってゆきます。
具体的には、タグというラベル( < から > まで)をテキストファイルに追加して作成します。
上のフォーマットによって、テキストの部分が大文字になったり、リストになったり、
他のデータへのリンクになったりします。
タグは、大文字・小文字を区別しません。
<TABLE>と<table>は同じタグを表します。
HTMLのファイルは、次のような構造になっています。
<DTD> <- HTMLの種類を決める
<HTML> <- HTMLデータの始まり
<HEAD> <- HEADデータの始まり
タイトル、スタイルシートやプログラムなど各種情報
</HEAD> <- HEADデータの終り
<BODY> <- BODYデータの始まり
HTMLの本文
</BODY> <- BODYデータの終り
</HTML> <- HTMLデータの終り
<TITLE> ... </TITLE> の部分は、HTMLのファイルを作る時には、
必ず<HEAD></HEAD>に書いておきます。
この部分に、そのHTMLのタイトルを適当に決めて書いておきますが、
これがないと、ブラウザはそのファイルをHTMLの文書だと思ってくれません。
また、実際には一番上にあるDTDの部分は無くてもブラウザに表示できますが、 正式なWebページには必要なものなので、きちんとDTDは書いておくべきです。
種類 | DTD | 説明 |
---|---|---|
Strict DTD | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> | 廃止予定の要素とフレームを含まない |
Transitional DTD | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | Strict DTDに廃止予定の要素を加えたもの |
Frameset DTD | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/framesett.dtd"> | Transitional DTDにフレームを加えたもの |
文法的なことは後で覚えることとして、とりあえず簡単な例をやってみましょう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> Simple HTML data 1 </TITLE>
</HEAD>
<BODY>
<H1>見出し </H1>
<P>
一つ目の段落
</P>
<P>
二つ目の段落
</P>
</BODY>
</HTML>
上のデータを、テキストエディタを使用してtest.htmlという名前で作っておいて、 ブラウザで表示してみます。 すると、ブラウザのウインドウの中に、以下のように表示されるはずです。
<TITLE> から </TITLE> までで囲まれたSimple HTML data 1 はウインドウの上にあるDocument Title:の部分に表示されます。
HTMLでは、文章の中に普通に改行を入れただけでは、本当に改行されません。
改行したい場所に
<BR>
というタグを入れる必要があります。
ついでに言っておくと、スペースも無視されるので注意してください。
これは 改行を
入れた
文章です。
と打ち込んでも
これは改行を 入れた 文章です。
となってしまいます。
これは改行を<BR>
入れた<BR>
文章です。
で始めて
これは改行を
入れた
文章です。
のように改行が入ります。
HTMLでは
<P></P>
によって囲んだ部分が1段落になります。
<P>これが第一段落。</P>
<P>これが第二段落。</P>
<P>これが第三段落。</P>
というデータは
これが第一段落。
これが第二段落。
これが第三段落。
となります。
この<P>の場合も、デフォールトでは1行分空行が空くからと言って
空行をあけるために使用してはいけません。
HTMLで、見出しの文字を表示するには、以下のタグを使用します。
このタグを使用する時に、注意しなければならないのは、
たとえば
<H1>
で始めたら必ず
</H1>
を最後につけなければならないということです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> Simple HTML data 2</TITLE>
</HEAD>
<BODY>
<H1>これがH1の見出し</H1>
<H2>これがH2の見出し</H2>
<H3>これがH3の見出し</H3>
<H4>これがH4の見出し</H4>
<H5>これがH5の見出し</H5>
<H6>これがH6の見出し</H6>
</BODY>
</HTML>
HTMLのタグには全体の構造を表すタグと、
見栄え(デザイン・レイアウト)を決めるカスケードスタイルシート(CSS)があります。
この2つを、きちんと使い分けるべきです。
たとえば、見出しのタグ(<H1>, <H2>など)によって文字の大きさが変わるからといって、
これらを文字の大きさを変えるために使用してはいけません。
HTMLにおいて、画像をページ中(インライン)に表示するにはIMGタグを使用します。
SRCの後ろに画像のファイル名(URL)を書きます。
このタグを使用して、表示できる画像フォーマットの種類は以下の通りです。
フォーマット | ファイル名の拡張子 | 色数 | インターレース | 透明化 | アニメーション |
---|---|---|---|---|---|
GIF | .gif | 256色 | ○ | ○ | ○ |
JPEG | .jpg .jpeg | フルカラー | ○ | ○ | × |
PNG | .png | フルカラー | ○ | ○ | × |
ALIGNは、文章と画像の相対位置を変えるために使用します。
ALIGNを省略するとデフォールトのbottomになります。
これが私の画<IMG SRC = "myown.gif" ALIGN = "top">です。
これが私の画 これが私の画<IMG SRC = "myown.gif" ALIGN = "middle">です。
これが私の画 これが私の画<IMG SRC = "myown.gif" ALIGN = "bottom">です。
これが私の画
IMGタグを使用する時は、画像を表示しない・できないブラウザーを使ってページを見る人のために、
ALTタグも書いておいた方が良いでしょう。
ALTタグの後に、その画像についての説明を書いておきます。
ただし、単なる飾りの画像の場合は*(アスタリスク)などの記号を書いておけば良いでしょう。
これが私の画<IMG SRC = "myown.gif" ALT = "[My face]" >です。
これが私の画[My face]です。
画像を、まず荒いモザイク模様で表示しておいて、段々細かい画像にして表示するものです。
画像の背景を、透過させて表示させることもできます。
の背景を透過させると
となります。
これは、GIFのみにある機能で、1枚のGIFファイルの中に複数の画像を入れて、
それらを連続的に表示することによってアニメーションができるようにするものです。
GIF、JPEGやPNG 以外の画像フォーマットを表示したい場合は、
<A HREF = "画像ファイルのURL">
によって表示したい画像をリンクしておけば、ブラウザーの内部または外部に表示されます。
テスト画像
HTMLで文章や画像を他のファイルや画像にリンクするには
というタグを使用します。(</A>を忘れないこと)
...の部分をクリックすると、リンク先のページまたは画像が表示されます。
リンク先が画像ファイルの場合は設定によってブラウザの中か、または外部の画像表示コマンドによって表示されます。
画像以外の音声データ、動画データなども適当なプラグインなどがインストールしてあれば、
スピーカから音を出したりブラウザ内に表示できます。
このリンク先は<A HREF = "link-test.html">サンプルページ</A>です。
このリンク先は サンプルページ です。
一度もクリックされていないリンク先と、一度でもクリックしたところは色が変化します。
<A HREF = "link-test.jpg">画像 </A>をリンクするとこうなります。
画像 をリンクするとこうなります。
上のリンク先をクリックすると、通常はブラウザ内に画像が表示されます。
また、URLをmailto:メールアドレス
と書いておくと、
クリックした時にそのメールアドレス宛になったメールソフトが自動的に立ち上がるようにできます。
CSS( Cascading Style Sheet )とは、HTMLにおいてレイアウトを表現するための文法です。
HTMLのタグはあくまでも文書の構造を表すものなので、文字の大きさ・色・段付けなどレイアウトやデザインを決めるにはCSSを使うようにします。
CSSを使うには、以下の3つの方法のいずれかで行います。
<タグ STYLE = "プロパティ名: 値; ..." >
<HEAD>
<TITLE>タイトル</TITLE>
<STYLE>
<!--
タグ {プロパティ名: 値; ..." >}
.
.
-->
</STYLE>
</HEAD>
タグ {プロパティ名: 値; ..." >}
HTMLファイルの中で
<LINK>
タグによって取り込みます。
実際に使用する時には、3番目のCSSファイルを作って各HTMLファイルに読み込ませる方法が、 後のメンテナンスが楽だと思います。
CSSを使った簡単なHTMLの作り方について以下に述べます。
BODY {
background: red;
}
H1 {
color: white;
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>タイトル</TITLE>
<LINK REL = "stylesheet" TYPE = "text/css" HREF = "test.css">
</HEAD>
<BODY>
<H1>CSSのテスト </H1>
<P>
スタイルシートのテスト
</P>
</BODY>
</HTML>
現在CSSにはCSS1とCSS2というバージョンがありますが、
FirefoxやIEなどのブラウザではCSS1のほとんどとCSS2の一部をサポートしている。
しかし、FirefoxとIEでは使うことのできるCSSが違うので
どちらかのブラウザしかうまく表示できないことが有り得ます。
単位 | 説明 |
---|---|
em | 現在のフォントサイズを1とした相対的な大きさ |
ex | xのフォントサイズを1とした相対的な大きさ |
% | 全体を1とした相対的な大きさ |
px | ピクセル |
pt | ポイント 1/72 inch |
pc | パイカ 1/6 inch |
in | インチ 1 inch = 2.54 cm |
cm | センチメートル |
mm | ミリメートル |
指定方法 | 説明 |
---|---|
色の名前 | red, green などの色の名前 |
#RRGGBB | 16進法で表した色の値 |
rgb(R,G,B) | 10進法で表した色の値 |
rgb(R%,G%,B%) | %で表した色の値 |
BODY {
color: white;
background: #FF0000;
margin-left: 10%;
padding-left: 1cm;
margin-right: 15%;
padding-right: 1cm;
border-width: 2;
}
H1 {
color: green;
font-size: 20pt;
font-family: sans-serif;;
}
上のCSSを使ったページ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
test page of CSS
</TITLE>
<LINK REL = STYLESHEET TYPE = "text/css" HREF = "test-css.css" TITLE = "Default css">
</HEAD>
<BODY>
<H1> Sample of CSS</H1>
このようなページになる。
<HR>
<CENTER>
<A HREF = "css2.html">back</A>
</CENTER>
</BODY>
</HTML>
HTMLで表を作るときは、以下のタグの組合せによって表現します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Sample of Table</TITLE>>
</HEAD>
<TABLE>
<TR>
<TH> 番号</TH> <TH> 名前</TH>
</TR>
<TR>
<TD> 99AU0000</TD> <TD> 阿部</TD>
</TR>
<TR>
<TD> 99AU0001</TD> <TD> 安部</TD>
</TR>
</TABLE>
</BODY>
</HTML>
このままでは見にくいので、CSSを使ってデザインを変えてみましょう。
以下のファイルをtable-sample.cssという名前で作成します。
TH {
background-color: blue;
color: white;
}
TD {
background-color: green;
color: white;
}
これを、上のHTMLデータの<HEAD>タグの中で<LINK>タグによって読み込みます。
<HTML>
<HEAD>
<TITLE>Sample of Table</TITLE>>
<LINK REL = "stylesheet" TYPE = "text/css" HREF = "table-sample.css">
</HEAD>
<BODY>
.
.
.
</BODY>
</HTML>
C言語のプログラムなどを、HTMLによって書きたいとき 書いてある通りに出力して欲しいことがあります。 その場合は<PRE>タグを使用します。
<PRE>
#include <stdio.h>
main()
{
printf("hellow\n");
}
</PRE>
を表示すると
#include <stdio.h> main() { printf("hellow\n"); }
の様に表示されます。
上のプログラムで<は<、>は>を表します。
この方法で表さないと、ブラウザがstdio.hをタグと間違えてしまうので表示がおかしくなります。
上で述べたように< , > , & , " などはHTMLの中で特別な意味があるので、そのままでは使用できません。
例えばC言語で
#include <stdio.h>
という部分も、そのままHTMLのデータファイルの中に書いておくと
#include
という様に<stdio.h>の部分が消えてしまいます。
これを避けるためには、次の特別な文字を使用します。
上の特殊文字を使用して
#include <stdio.h>
と書いておけば
#include <stdio.h>
と正しく表示されます。
printf("hello\n");
文字の見た目を変更するタグですが、現在は非推奨になっています。
同じ目的には、CSSを使用します。
JavaScript とは Netscape社によって Netscape 上に実装されたスクリプト言語です。
JavaScript を使用することによって、文字や画像などをレイアウトして表示するだけだったHTMLファイルに GUIによる対話的な処理や、計算や条件によって動的に表示するデータを変更したりする処理を付け加えることができるようになります。
最も簡単な JavaScript プログラムとして、ブラウザー上に Hello World と表示するプログラムを作ってみましょう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> Hello World </TITLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
document.write("Hello World")
// -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
ダイアログを表示するプログラム。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
event handler
</TITLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
function show_alert()
{
alert(document.testform.testButton.value);
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "testform">
<INPUT TYPE = "button" NAME = "testButton" VALUE = "click me" onClick = "show_alert()">
</FORM>
</BODY>
</HTML>
現在とは別のウインドウを出して、そこに指定されたURLのWebページを表示します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Simple Search
</TITLE>
<LINK REL = STYLESHEET TYPE = "text/css" HREF = "../style.css" TITLE = "Default css">
<SCRIPT LANGUAGE = "JavaScript">
<!--
function openUrl(url)
{
window.open(url);
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "wform">
URL
<INPUT TYPE = "text" NAME = "url" SIZE = 20 VALUE = "">
<BR>
<INPUT TYPE = "button" VALUE = "open URL" onClick = "openUrl(document.wform.url.value)">
</FORM>
</BODY>
</HTML>
JavaScriptで簡単な計算機を作ってみましょう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
eval
</TITLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
function calc(obj)
{
obj.result.value = eval(obj.calculate.value);
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "calcform">
<INPUT TYPE = "text" NAME = "calculate" SIZE = 20>
<INPUT TYPE = "button" NAME = "docalc" VALUE = "do calculate" onClick = "calc(this.form)">
<BR>
<INPUT TYPE = "text" NAME = "result" SIZE = 20>
</FORM>
</BODY>
</HTML>
JavaSciptで、簡単なサーチエンジンを作ってみましょう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Simple Search
</TITLE>
<LINK REL = STYLESHEET TYPE = "text/css" HREF = "../style.css" TITLE = "Default css">
<SCRIPT LANGUAGE = "JavaScript">
<!--
function search()
{
self.location = "http://www.google.co.jp/search?q=" + document.sform.query.value;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "sform">
Search words
<INPUT TYPE = "text" NAME = "query" SIZE = 20 VALUE = "">
<BR>
<INPUT TYPE = "button" VALUE = "start search" onClick = "search()">
</FORM>
</BODY>
</HTML>
JavaScriptプログラムを作る時、FirefoxとInternet Explorerなどブラウザの種類によって、互換性が無い場合があるので注意が必要です。
つまり、片方のブラウザで動作するJavaScriptプログラムがもう一方では動作しない場合があります。