国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
提高Ajax應用程序性能,避開Web服務漏洞

提高Ajax應用程序性能,避開Web服務漏洞

ZDNet軟件頻道時間2008-11-13作者: | IT專家網(wǎng)論壇
本文關鍵詞:漏洞 服務器 AJAX Web服務

  AJAX 概述

  AJAX 通過將用戶的瀏覽器體驗(例如,企業(yè)對企業(yè)交易)轉換為一個基于 XML的 Web 服務門戶(例如企業(yè)對消費者交易),實現(xiàn)了響應式和交互式 Web 服務。AJAX 使用的方法是在 Web 頁面和服務器之間,通過 HTTP 協(xié)議構建一個額外的處理層。該層攔截來自用戶的請求,然后在后臺與服務器通信并異步獲得所需的 HTTP 協(xié)議內(nèi)容。服務器請求和響應不需要匹配用戶操作,例如一個更新數(shù)據(jù)庫記錄的請求和一個更新成功的響應。

  Web 服務漏洞

  讓我們解決一些有關額外處理層的問題。由于它依賴 XML 作為請求和響應負載的內(nèi)容類型,AJAX 增加需要傳輸?shù)?XML 流量。當出現(xiàn)大量的請求和響應時,AJAX 應用程序會阻塞網(wǎng)絡通信。而更嚴重的問題是,大量的通信會使 AJAX 應用程序受到 Web 服務漏洞的威脅。如果這些漏洞被人利用,應用程序或系統(tǒng)的性能將受到損害。

  讓我們看看四個漏洞實例:

  過高的帶寬

  破損數(shù)據(jù)

  頻繁的小型 HTTP 請求

  內(nèi)存泄漏

  過高的帶寬

  文本格式的 XML 消息可能是二進制數(shù)據(jù)帶寬量的兩倍之多。傳輸 XML 消息所需的帶寬越多,系統(tǒng)或應用程序用來執(zhí)行其他任務的可用資源就越少。例如執(zhí)行復雜算法來獲取期望結果。過高的帶寬可能導致由系統(tǒng)超載引起的性能減退。

  破損數(shù)據(jù)

  過高的帶寬將導致 AJAX 應用程序輸出破損的數(shù)據(jù),因為沒有足夠的資源生成干凈的數(shù)據(jù)。這意味著 Web 服務門戶(AJAX 應用程序屬于其中的一部分)將把破損數(shù)據(jù)暴露給門戶的其他部分,從而導致畸形消息和過度解析。如果威脅者利用了這個漏洞,則會引起瀏覽器崩潰。

  頻繁的小請求

  AJAX 的一個缺點就是允許您生成大量較小的請求,而不是一個大的 post-back。頻繁的、較小的 HTTP 請求會加重后端服務器、負載均衡程序和防火墻的負擔,結果是造成過高的帶寬,最終導致性能降低。它們還會超出瀏覽器或較慢的網(wǎng)絡連接的接受能力,從而導致網(wǎng)絡性能瓶頸。

  內(nèi)存泄漏

  在一個典型的 Web 應用程序中,Web 頁面經(jīng)常重新加載,清除該頁面的內(nèi)存并開始一個干凈的頁面。使用 AJAX 時,等待 Web 服務門戶呈現(xiàn)下一部分內(nèi)容的時候不需要重新加載頁面。使用 AJAX 可以在瀏覽器中保持一個單頁面應用程序長達數(shù)天,這使內(nèi)存或其它資源泄漏更加嚴重。過度的內(nèi)存泄漏(以及過高的帶寬和頻繁的 HTTP 請求)可能會造成 Web 門戶出現(xiàn)破損數(shù)據(jù),增加了黑客從 Internet 中利用系統(tǒng)漏洞的風險。

  風險評估

  對于上面的四個例子,您需要判斷威脅方利用系統(tǒng)和服務器漏洞的風險級別以及對業(yè)務造成的影響。如果風險較高,需要使用一些保護措施提高 AJAX 應用程序的性能。其中一種保護是使用 SLA 保證增強服務正常運行時間可用性。

  Service Level Agreement

  無論怎樣修改 AJAX 代碼來提高帶寬效率,始終存在一些風險和漏洞,需要您進行監(jiān)視并解決。部署高效帶寬 AJAX 應用程序并不能保證 SLA 中的服務級別保持在或高于指定的性能閾值點(例如 99.9 或 99.999%)。在 AJAX 應用程序中,當應用程序通過 Internet 從瀏覽器應用程序轉移到服務器門戶時,它將更容易受到攻擊,特別是用來構建 Web 服務以檢測性能問題(例如包丟失)的 XML 部分。

  改善服務運行時間的可用性

  您需要考慮三件事情來改善服務運行時間的可用性。首先,要提高 AJAX 應用程序性能,應該使用一些方法改善性能而不是優(yōu)化帶寬(例如 XML內(nèi)容過濾和 XML 加速)。其次,要保護 AJAX 應用程序,應該考慮 Web 安全標準,例如 WS-Security(WSS)、ApplicationVulnerability Description Language(AVDL)以及其他標準。第三,考慮將監(jiān)視這些應用程序的通信量作為度量性能的一種工具。

  改進 #1. 加速應用程序

  讓我們查看以下這些可以加速 AJAX 應用程序的選項:

  專門的硬件加速器

  優(yōu)化軟件

  消除代碼冗余

  XML 加速功能

  解決互操作性問題

  專門的硬件加速器

  用硬件加速器加速 XML 通信。如果不使用加速器,加密、復雜圖形和語音識別算法會占用應用程序和相關資源,因為必須執(zhí)行復雜的計算才能獲得理想結果。加速器通常不用于服務器端腳本。一種替代方法是將硬件加速器和優(yōu)化軟件結合使用。

  優(yōu)化軟件

  優(yōu)化軟件用于修改和壓縮系統(tǒng),這樣應用程序執(zhí)行速度更快或操作更少的內(nèi)存存儲量和其他資源。優(yōu)化軟件在便攜電腦中耗電更少。要減少從服務器下載的體積和時間,需要兩個步驟:

  使用 ASP.Net或 JavaScript 技術分析 AJAX 應用程序負荷。

  根據(jù)負荷分析開發(fā)優(yōu)化軟件。

  消除代碼冗余

  消除代碼冗余的一個例子是減少 AJAX 回調的數(shù)量以及每個回調的負荷。如果回調之間存在復雜的交互,請查找并消除冗余代碼。另一個例子是將 AJAX 應用程序分成多個模塊,然后合并功能類似的模塊,從而減少冗余。

  XML 加速功能

  取決于應用程序的復雜性,解析基于文本的大型 XML 文件產(chǎn)生了大量開銷,這就抵銷了使用硬件加速器和優(yōu)化軟件消除代碼冗余帶來的好處。基于文本的 XML Web 服務應用程序體積較大并且會逐漸膨脹,因此從網(wǎng)絡、處理器和存儲性能的角度來看,不具備良好的帶寬效率。當使用大量的大型文件時,這些 Web 服務會阻塞網(wǎng)絡通信,導致系統(tǒng)超載。

  Web 服務性能的一個主要阻礙因素是與 XML 有關的網(wǎng)絡和處理開銷。因此,行業(yè)趨向于標準化 XML 的二進制編碼模式,例如 XML-binary Optimized Packaging Specification(XOL)Package。如系列文章的 第 7 部分(關于在企業(yè)級 SOA中處理 Web 服務)中所述,我討論了這種包處理大型二進制文件的效率為何高于 XML 解析器處理基于文本的文件的效率。

  解決互操作性問題

  不論 AJAX 應用程序如何優(yōu)化,使用了哪些硬件加速器,如何降低或消除了代碼冗余,您仍然需要解決互操作性問題。例如,當 AJAX 應用程序轉換為企業(yè)無法控制的 Web 服務時,您要根據(jù)共享語義和合同義務確保它們在外部可以進行互操作。語義的錯誤理解(例如專有語義)和合同漏洞(多平臺差異)會造成互操作性問題,例如將 AJAX 應用程序集成到遺留系統(tǒng)中。

  改進 #2. Web 服務標準

  讓我們看一些針對 AJAX 應用程序的 OASIS Web 服務標準(OASIS 表示 Organization for the Advancement of Structured InformationStandards,由 International Open Standards Consortium 領導。)。

  分結語

  WS-Security Extensions(WS-SX)

  Security AccessMarkup Language(SAML)

  Service ProvisioningMarkup Language(SPML)

  Digital SignatureServices(DSS)

  ApplicationVulnerability Description Language(AVDL)

  AJAX 通過 Internet 從瀏覽器應用程序轉移到服務器門戶產(chǎn)生了越來越多的安全漏洞,因此所有這些標準都是為了降低安全漏洞風險。如果應用了 XOL 包或其它二進制 XML模式,這些標準會更高效。

  WS-SX

  該標準提供了實現(xiàn)安全功能的技術基礎,例如實現(xiàn)更高級別的 AJAX Web 服務應用程序時保持消息的完整性和保密性。由于 WSS 只關注單個的消息交換,因此可以擴展為 WS-SX,以支持涉及多個消息交換的可信 SOAP 消息交換,并定義管理消息的格式和標記的安全策略。Web Services SecureConversation、SecurityPolicy 和 Trust 規(guī)范為 WS-SX 的開發(fā)做了不少貢獻。

  SAML

  這種標記語言定義并保持了一種基于 XML 的標準框架,用于在在線合作伙伴之間創(chuàng)建和交換安全信息。SAML 現(xiàn)在被用于 Web 單點登錄、基于屬性的授權和保護 Web 服務。

  SPML

  該標準提供了一種 XML 框架,用于管理企業(yè)內(nèi)部/之間的身份信息和系統(tǒng)資源的供給和分配。此外,SPML 1.0 規(guī)范允許使用 WSS、XML Digital Signatures 和 XML Encryption。

  DSS

  該標準定義了一個可以處理 Web 服務和其他應用程序的數(shù)字簽名的 XML 接口。DSS 在電子商務和其他 Web 應用程序安全性方面扮演著重要角色,它可以確保在交換并從存儲中檢索應用程序時 Web 數(shù)據(jù)的可靠性。DSS 規(guī)范包括用于簽名創(chuàng)建、簽名檢驗、時間戳和上述功能集合的服務。

  AVDL

  AVDL 的目標是定義一種語言,用于描述可以保護這種應用程序的信息。這些信息包括(但不限于)安全漏洞信息、已知的合法使用信息。在我的系列文章(在 Web 服務上下文中使用 SLA)的 第 7 部分 中,除了討論 AVDL 規(guī)范外,我還解決了針對某個 Web 服務的中斷閾值問題,比如這個服務沒有通過 HTTP 響應獲取安全漏洞信息的請求。

  如果請求與響應的時間間隔非常大,中斷閾值所達到的水平將會對提供運行時間可用性的 SLA 保證產(chǎn)生不利影響。為了減少產(chǎn)生這種不利影響的機會,文章 討論了如何降低在異構的面向服務架構(SOA)中暴露 Web 服務漏洞的風險。使用 XOL 包可以進一步降低中斷閾值的影響。但是降低這種影響并不代表實現(xiàn)了 SLA 保證。

  改進 #3. 監(jiān)視通信流

  積極地監(jiān)視通信流可以持續(xù)地度量 AJAX 應用程序的網(wǎng)絡流量性能。它可以模仿網(wǎng)絡數(shù)據(jù)和 IP 服務,并實時收集 AJAX 應用程序的網(wǎng)絡性能信息。收集的內(nèi)容包括:有關響應時間的數(shù)據(jù)、帶寬量、單向延遲、抖動、包丟失和服務器響應時間。

  對于同一個連接,可以針對不同的通信級別進行性能監(jiān)視(例如高、中和低優(yōu)先級)。通過將數(shù)據(jù)放入實時日志中,您可以查看在哪些位置何時出現(xiàn)大量的包丟失和抖動事件,響應變慢的原因以及如何通過修改應用程序的優(yōu)先級來改善通信流性能。

  結束語

  要提高 AJAX 應用程序的性能,同時避開 Web 服務漏洞,您的團隊需要由開發(fā)人員、測試人員、系統(tǒng)管理員和潛在用戶組成。要消除冗余和內(nèi)存泄漏,同時降低帶寬和小的 HTTP 請求的數(shù)量,您必須提前規(guī)劃 AJAX 性能改善項目的創(chuàng)建、測試和部署。解決了這些問題將使改善 AJAX 應用程序的性能變得更加輕松。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
提高 Ajax 應用程序性能,避開 Web 服務漏洞【面試+工作】
十大Web2.0下的威脅性攻擊盤點
AJAX基礎應用專題
Ajax簡介
AJAX憂慮與啟發(fā):成也腳本,敗也腳本
2007最受歡迎的十大Ajax技術文章 , 教程,技術,ajax, ,
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服