Ajax簡介
Ajax全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。
主要包含了以下幾種技術:
- Ajax(Asynchronous JavaScript + XML)的定義
- 基於web標准(standards-based presentation)XHTML+CSS的表示;
- 使用 DOM(Document Object Model)進行動態顯示及交互;
- 使用 XML 和 XSLT 進行數據交換及相關操作;
- 使用 XMLHttpRequest 進行異步數據查詢、檢索;
- 使用 JavaScript 將所有的東西綁定在一起。
類似於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應用程序的優勢在於:
- 通過異步模式,提升了用戶體驗
- 優化了浏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用
- Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。