非同期 JavaScript + XML (Ajax) は、
Web アプリケーションの開発に使用されるテクノロジー・グループを参照しています。これらのテクノロジーを組み合わせることによって、サーバーと交換するデータ・パケットが小さくなり、ユーザーが入力変更を行うたびに Web ページを再ロードすることがなくなるため、Web ページの即応性が向上します。Ajax によって、Web アプリケーション・ユーザーは、Web ページが絶えず再ロードされることによる中断を受けずに、Web ページと情報をやり取りできます。ページの一部のみを再ロードおよび更新することによって、
Web サイトとのやりとりが素早く行われます。
Ajax は、以下のテクノロジーから構成されています。
- 情報表示用の XHTML および CSS。
- 提供される情報を動的にやり取りして表示するための Document Object Model (DOM)。
- Web サーバーと非同期でデータ操作を行うための XMLHttpRequest オブジェクト。
- データ交換と操作用の XML、HTML、および XSLT。
- データ要求と情報表示画面をバインディングするための
JavaScript。
Ajax は、これらのテクノロジーを取り込んで、
Web アプリケーションの開発への新しいアプローチを作成します。
Ajax では、ページを再ロードせずにクライアントからサーバーへの通信を開始するメソッドを定義しています。
ここでは、ページを部分的に更新できるようにする方法が提供されます。これは、
Web ページ・ユーザーから見ると、Web アプリケーションとの対話が向上し、
ユーザーがデスクトップ・アプリケーションのように環境を制御しやすくなることを意味します。
従来の Web アプリケーションでは、ユーザーの Web インターフェースとの対話によって開始された HTTP 要求が、
Web サーバーに送られます。Web サーバーは要求を処理し、
クライアントに HTML ページを戻します。HTTP トランスポート中、
ユーザーは Web アプリケーションと対話できません。
Ajax Web アプリケーションでは、ユーザーは Web アプリケーションとの対話を中断されません。
Ajax エンジンまたは JavaScript インタープリターによって、インターフェースをレンダリングし、ユーザーに代わってサーバーとの通信を処理することによって、ユーザーはサーバーとの HTTP トランスポートとは関係なく、Web アプリケーションと対話することができます。
Ajax の制限事項
Ajax は、Web ページの即応性およびユーザーとの対話性を向上させるように設計された Web アプリケーション開発手法ですが、
Ajax ベースのアプリケーションを開発する前に考慮するべき制限事項がいくつかあります。以下の制限事項は不便な点として顕著なものです。
- ブラウザー・サポート - JavaScript または
XMLHttpRequest オブジェクトをサポートしていないブラウザーもあります。JavaScript および
XMLHttpRequest をサポートするブラウザーでも、これらのオブジェクトの扱い方が異なる場合があります。各ブラウザーでの Ajax の実装方法について検討する必要があります。
- セキュリティーおよびユーザー・プライバシー - 懸案事項すべてに対応しているわけではありません。
Ajax アプリケーションの開発時には、
セキュリティーおよびユーザー・プライバシーに関する問題を検討する必要があります。
- アクセシビリティー - JavaScript または
XMLHttpRequest オブジェクトをサポートしていないブラウザーもあるため、
すべてのユーザーが Web アプリケーションにアクセスできる方法を確保する必要があります。
- ブックマークおよびナビゲーション - Ajax はコンテンツの断片を非同期に既存ページにロードするため、
一部のページ情報が、新しくロードされたページに対応していない場合があります。ページの一部が変更されているにも
関わらず、URL が変更されなかったために、ブラウザーの履歴およびブックマークが正しく動作しないことがあります。
- 検索エンジン - Ajax アプリケーションは検索できません。
ただし、検索可能なアプリケーション内で Ajax の機能および要素を使用することはできます。