AJAX、JSONはWeb2.0的な技術といわれていて、各方面で紹介されている。
個人のHP管理者でも、気になるところだ。
しかし、その内容はかなり難しい。
そこで、素人の私が理解した範囲で、その概要をメモしておく。
AJAXとは「Asynchronous JavaScript + XML」で、(非同期なJavaScriptとXML)の略。
ウェブ画面の表示は、htmlファイルの上から順番に処理する。
途中で時間のかかる処理があると、そこから下の内容は、表示されない。
そこで、AJAXの技術を使って、時間のかかる処理を行うようにする。
すると、処理が終わらなくても、そこから下の内容が処理されるようになる。これが「非同期」のゆえんだ。表示も見た目に速くなり、ユーザーのストレスが軽減される。
しかし、この技術には弱点がある。
非同期通信のキモである、javascriptの「XMLHttpRequest」という命令が、セキュリティの関係で同じドメイン内のxmlファイルしか読み込めないのだ。
各サービスのAPIを利用したブログパーツなど、不特定多数のサイトで使用されるプログラムを配布しようとしても、ブログパーツから直接APIにデーターを読みに行けない。他ドメインになってしまうからだ。
よって、非同期通信をするには、結局javascriptだけではダメで、PHPやPerlなどサーバーサイドのプログラムによる助けが必要になるのだ。なんとなく、片手落ちの感がある。
そこで考えられたのが、JSON(JavaScript Object Notation)というフォーマットだ。
Javascriptのデーター形式そのものなので、APIがこのフォーマットでデーターを配布してくれれば、Javascriptがデーターを取り込める。しかも非同期だ。
当サイトで運営しているブログパーツ「楽-yah」「楽市360」は、私がサーバーを提供してデーター生成して、そのデーターを各ブログから呼び込んでもらっている。この方法は非同期でななく、読み込みに時間がかかる事が多いので、キャッシュをフルにかけて対策している。
先日公開した、「楽市アド360」は、JSONデーターを利用しているので、各ブログから非同期通信でデーターを読み込める。ぜひ試してみて欲しい。
「楽市360」については、将来的にはJSONデーターで非同期版を作る予定。
コメント