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