基於web標準(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)進行動態顯示及互動;
使用 XML 和 XSLT 進行資料交換及相關操作;
使用 XMLHttpRequest 進行非同步資料查詢、檢索;
使用 JavaScript 將所有的東西綁定在一起。英文參見Ajax的提出者Jesse James Garrett的原文。
類似於DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基於AJAX的“派生/合成”式(derivative/composite)的技術正在出現,如“AFLAX”。
AJAX的應用使用支援以上技術的web瀏覽器作為運行平台。這些瀏覽器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支援XSL格式對象,也不支援XSLT。
與傳統的web應用比較
傳統的web應用允許使用者填寫表單(form),當提交表單時就向web伺服器發送一個請求。伺服器接收並處理傳來的表單,然後返回一個新的網頁。這個做法浪費了許多頻寬,因為在前後兩個頁面中的大部分HTML代碼往往是相同的。由於每次應用的互動都需要向伺服器發送請求,應用的回應時間就依賴於伺服器的回應時間。這導致了使用者介面的響應比本地應用慢得多。
與此不同,AJAX應用可以僅向伺服器發送並取回必需的資料,它使用SOAP或其它一些基於XML的web service介面,並在用戶端採用JavaScript處理來自伺服器的響應。因為在伺服器和瀏覽器之間交換的資料大量減少,結果我們就能看到響應更快的應用。同時很多的處理工作可以在發出請求的用戶端機器上完成,所以Web伺服器的處理時間也減少了。
Ajax應用程式的優勢在於:
1. 通過非同步模式,提升了使用者體驗
2. 最佳化了瀏覽器和伺服器之間的傳輸,減少不必要的資料往返,減少了頻寬佔用
3. Ajax引擎在用戶端運行,承擔了一部分本來由伺服器承擔的工作,從而減少了大使用者量下的伺服器負載。