8:HTTP?HTML?WWW?と JavaScript

 

コンピューターは「電子計算機」です。

今のようにネットワークで繋がっていませんでした。別のコンピューターにデータを移す時は、今のUSBのように情報を「ハード」で移動する必要がありました。

情報を回線で共有したいなぁと思った人は、違う会社、違うメーカーのコンピューターと「通信」をしなくてはいけないことに気がつきました。けど同じメーカーのコンピューター同士でしかやりとりする方法がありませんでした。

そこで、どのコンピューターでも「通信」ができるような決まりをつくりました。

プロトコル(通信規約)と呼ばれるものです。

最初に作られたプロトコル(情報共有するお約束)は TCP/IPプロトコル群と呼ばれています(いひとつだけではない)。

こうしてコンピューター同士が通信できるようになったのですめでたしめでたし!

 

コンピューター同士が繋がって情報をやりとりできるこのシステムをインターネットといいます。

コンピューターがコンピューターに直接情報を取りに行くのはちょっと・・・・というわけで、サーバーという場所にみんながみれる情報を集めることにしました。このサーバーに「問い合わせ」をすることで情報を得られるようにしました。サーバーは「仕える」意味です。そしてサーバーに問い合わせをするコンピューターをクライアント「お客さん」といいます。

 

文字情報を伝えるお約束。HTTP

よく目にするHTTPは Hypertext Transfer Protocolの略です。

Hypertextという仕組みを使って情報をやりとりするお約束です。

HTTPを使ってサーバーとクライアントがやりとりをします。そして、それをクライアント(コンピューター)が表示するために必要なものが「ブラウザ」です。

ブラウザはサーバーに「リクエスト」して、

サーバーはブラウザに「レスポンス」を返します。

このやり取りの形式(手紙の送り方)がHTTPです。

HTTPの決まりにしたがって書かないと、読み取れません。

 

ブラウザからサーバー、サーバーからブラウザまでの情報網をWWWといいます。

World Wide Webです。

 

HTMLで書かれた文章を表示するものがWebサイトだったのが、

JavaScriptの登場によって、WWWはただの文書、サイト(場所)ではなくWebアプリ(動的に動かせる)として使われることもできるようになりました。

 

同じURL(同じ手紙、同じサイト)でも、表示が変わる動的HTML(手紙の書き方)

まず。

HTMLはHypertext Markup Languageです。

手紙の送り方ではなく手紙の書き方、だとおもったらよいでしょう。

改行、段落、どれが見出しか、コンピューターに伝えるための言語です。

 

サーバーはこの手紙を持っています(WWWにアップロードされた状態)。

ブラウザは「此の手紙ある?」とサーバーに聞きます。

サーバーが「はいこれ」と渡してくれます。

その手紙を解読してディスプレイに表示してくれるのがブラウザです。

ブラウザにはchromeやsafari,firefoxがあります。operaというブラウザもあります。

 

では。

静的HTML、動的HTMLとは?

ブラウザに表示される文書が、「動く(変わる)」ように仕組まれているHTML文書を動的HTMLといいます。

ボタンを押したら・・・とか。

とある操作をしたら・・・とか。

CSSやHTMLを制御することができます。

 

HTMLを動的にするためにはHTMLという手紙の中に「動かしてね」という命令を書き込んで、ブラウザに実行してもらわないといけません。

HTMLを動的に動かしてもらうためのプログラミング言語にはRuby, Perl, PHP,Java,JavaScriptなどがあります。

 

JavaScriptは「ブラウザ」側つまり「クライアント」側で動く言語です。

なのでJavaScriptはクライアントサイドプログラミング言語といいます。

 

他の言語はサーバー側で動きます。

JavaScrtiptであれば「ブラウザ」に読み取っててもらえば済むことを、サーバーサイドプログラミング言語では「サーバー」までもっていかないといけません。

 

JavaScriptはブラウザで実行される!

 

おまけ:プログラミング言語とマシン語

コンピューターは極限すると「0と1」しか理解できません。

なぜそれだけでこんなに複雑な操作ができるのか、不思議ですね。

だから「0と1」をどういう仕組みで使うのか、約束事を決めたのです。(0と1をどのように処理させるかを伝える言語は”マシン語”もしくは”機械語”といいます。)

HTMLにもJavaScriptにもpythonにも「0と1」は出てきません。マシンがプログラミング言語を理解してくれるためにはプログラミング言語をマシン語に変換しないといけません。この翻訳を「コンパイラ」とか「インタプリタ」といいます。

コメント