interlude

プログラミングや私的なこと

今更聞けないAjaxについて

Ajaxとは

javascriptにhttp通信の機能を組み込んだものです。

javascript自体はwebページを動的に変化させることが出来ますが、サーバと通信することは出来ません。 クライアント側では動かせますが、サーバ側で動く言語ではないのです。

しかしAjaxを使うことでサーバと通信することが出来ます。Ajaxを使う一番のメリットはサーバと非同期で通信が可能なことです。

同期通信と非同期通信

同期通信はクライアントがリクエストを出してから、レスポンスが返ってくるまで待ち続けることを指します。 例えていうなら会話をしたい相手がいて、こちらから話しかけて返事が来るまでひたすらじっと待っている感じでしょうか。

非同期通信は反対にクライアントがリクエストを出してからレスポンスを待つ間に他の処理が行えます。こちらから話しかけてから返事が来るまでにスマホでニュース見たりゲームしたりして、返事が来たらまた会話に戻る感じですね。

一見すると非同期通信のほうが便利ではあるのですが、会話に100%集中していないので、 一言二言くらいずつしかやり取りが出来ないという側面があります。

まとめ

javascriptにhttp通信をするための仕組みが追加され、webで表現できることは増えました。Ajax自体は既存の技術を組み合わせて出来たもので、古くて新しい技術と言われています。 既に枯れた技術を組み合わせて新しいものを生み出すというところに技術の面白さを感じますね。

参照
http://www.lineeye.co.jp/html/term_doki.html

http://www.sophia-it.com/content/%E9%9D%9E%E5%90%8C%E6%9C%9F%E9%80%9A%E4%BF%A1