AJAX的使用率正在快速增長(zhǎng),這也是它會(huì)包含許多問題的原因。我們希望隨著時(shí)間的推移,這些問題將得到解決,AJAX將成為Web應(yīng)用程序的理想選擇。
在本節(jié)我們列出了AJAX目前遇到的一些問題。
1.復(fù)雜性增加了
• 服務(wù)器端開發(fā)人員需要了解HTML客戶端頁面以及服務(wù)器端邏輯中將需要表示邏輯。
• 頁面開發(fā)人員必須具備JavaScript技能。
2.基于AJAX的應(yīng)用程序可能難以調(diào)試,測(cè)試和維護(hù)
• JavaScript很難測(cè)試 - 自動(dòng)測(cè)試很難。
• JavaScript中的模塊化程度較弱。
• 尚缺乏設(shè)計(jì)模式或最佳實(shí)踐指南。
3.工具包/框架尚未成熟
• 他們中的大多數(shù)都處于測(cè)試階段。
4.尚未標(biāo)準(zhǔn)化XMLHttpRequest
•IE的未來版本將解決這個(gè)問題。
5.舊瀏覽器中不支持XMLHttpRequest
• iframe會(huì)有所幫助。
6.JavaScript技術(shù)依賴性和不兼容性
• 必須啟用應(yīng)用程序才能運(yùn)行。
• 仍然存在一些瀏覽器不兼容性。
7.JavaScript代碼對(duì)黑客可見
設(shè)計(jì)糟糕的JavaScript代碼可能會(huì)引發(fā)安全問題。
• 基于AJAX的Web應(yīng)用程序使用與常規(guī)Web應(yīng)用程序相同的服務(wù)器端安全方案。
• 您可以在web.xml文件或程序中指定身份驗(yàn)證,授權(quán)和數(shù)據(jù)保護(hù)要求。
• 基于AJAX的Web應(yīng)用程序受到與常規(guī)Web應(yīng)用程序相同的安全威脅。
• JavaScript代碼對(duì)用戶/黑客可見。黑客可以使用JavaScript代碼來推斷服務(wù)器端的弱點(diǎn)。
• JavaScript代碼從服務(wù)器下載并在客戶端執(zhí)行(“eval”),并可能通過惡意代碼破壞客戶端。
•下載的JavaScript代碼受到沙盒安全模型的約束,可以放寬簽名的JavaScript。