為使用不同編程語言(例如JavaScript和Python)開發的Web應用程序提供一種通用通信平臺的解決方案是Web服務。
Web服務使用標準化的XML消息傳遞系統,該系統不僅可以通過Web輕鬆獲得,而且還可以用於私有網絡。任何對遵循Web應用程序開發職業道路感興趣的人都必須具有有關Web服務的知識。
問題:請列舉Web服務的各個組成部分。
答:
- 可擴展標記語言(XML)
- 資源描述框架(RDF)
- 簡單對象訪問協議(SOAP)
- 通用描述,發現和集成(UDDI)
- Web服務描述語言(WSDL)
問題:Web服務的上下文中互操作性?
答:通常,術語“互操作性”是指兩個或多個產品或系統無需任何特殊要求即可協同工作的能力。在Web服務的上下文中,術語互操作性表示應用程序之間的通信以及共享數據和服務。
問題:Web服務協議棧的各個層?
答:Web服務協議棧中總共有4個層,每個層負責某些任務:
- 服務傳輸–這是Web服務協議堆棧中的第一層。它有助於在各種客戶端應用程序之間傳輸XML消息。該層通常使用以下協議:塊可擴展交換協議(BEEP)文件傳輸協議(FTP)超文本傳輸協議(HTTP)簡單郵件傳輸協議(SMTP)
- XML消息傳遞–基於XML模型,這是消息以通用XML格式編碼的層。該層包括:簡單對象訪問協議(SOAP)XML-RPC
- 服務描述–包括XML消息傳遞的可用功能,位置和數據類型。它描述了特定Web服務的公共接口,幷包括WSDL。
- 服務發現–提供通過Web發佈和查找Web服務的方式。它包括UDDI。
問題:XML-RPC協議和功能。
答:XML-RPC是一個遠程過程調用,負責調用遠程計算機上可用的函數或過程。換句話說,XML-RPC是一種簡單的協議,能夠通過XML消息傳遞執行RPC。
除了在各種計算機之間建立連接之外,XML-RPC還是用於連接不同環境的出色工具。以下是XML-RPC協議的各種功能:
- 允許在各種應用程序之間建立通信
- 具有少量XML詞彙表,用於描述請求和響應的性質
- HTTP響應中嵌入了XML響應
- 平臺無關
- 遠程過程調用使用簡單的XML執行
- 使用HTTP協議以便在客戶端和服務器計算機之間傳遞信息
- XML編碼的請求通過HTTP POST發送
問題:解釋術語UDDI及其功能?它使用什麼語言?
答:UDDI或通用描述,發現和集成是Web服務協議棧的服務發現層中基於XML的標準。它使用Web服務描述語言(WSDL)。
由於UDDI的作用類似於目錄,因此它用於在Web上查找和發佈Web服務。UDDI的主要特點是:
- 充當包含所有WSDL文件的數據庫
- 幫助企業通過Internet發現彼此並進行交互
- 開放框架
- 平臺無關
- 使用COBRA,Java RMI和SOAP協議建立通信
問題:RESTful Web服務是什麼意思?相同的各種優點是什麼?
答:REST是表述性狀態傳遞,它是用於開發可通過Web訪問的應用程序的無狀態體系架構設計風格。使用HTTP方法實現REST體系結構的Web服務稱為RESTful Web服務。
數據和功能充當REST架構樣式中URI訪問的資源。RESTful Web服務具有理想的屬性,例如可修改性,性能和可伸縮性。以下是使用RESTful Web服務的重要優點:
- 可以用任何編程語言編寫
- 能夠通過Web瀏覽器輕鬆測試
- 快速輕量的協議,消耗更少的帶寬和資源
- 具有鬆散耦合的實現
- 平臺無關
- 提供對一系列數據格式(例如JSON和純文本)和技術的支持
問題:SOAP和REST之間進行比較。
答:
- 耦合– Web服務和客戶端在SOAP中緊密耦合。此外,它定義了一些嚴格遵守的標準。相反,REST除了提供鬆散耦合之外沒有遵循太多標準
- 數據格式和首選項–此處首選REST,並允許多種數據格式,例如HTML和JSON。SOAP僅支持XML數據格式
- 目的–雖然SOAP用作創建Web服務的標準協議,但是REST是構建Web服務的體系結構樣式
- Java API-用於RESTful Web服務的Java API是JAX-RS,而JAX-WS是用於SOAP Web服務的Java API
- 要求– REST需要較少的帶寬和資源,並使用URI公開業務邏輯。另一方面,SOAP需要更多的帶寬和資源,並使用服務接口來公開業務邏輯
- 安全性– REST既沒有定義的綁定合同,也沒有自己的安全性方法。但是,SOAP使用WSDL協定來綁定客戶端程序和Web服務,並且具有自己定義的安全性方法。
- 測試–使用SOAPUI對SOAP Web服務進行了測試。另一方面,可使用Web瀏覽器和擴展程序(例如Chrome郵遞員)來測試RESTful Web服務
問題:HTTP請求和HTTP響應的核心組件。
答:HTTP請求的核心組件是:
- HTTP版本–指示版本
- 請求正文–表示郵件內容
- 請求標頭–包含HTTP請求消息的元數據,例如緩存設置和客戶端類型
- URI –標識服務器上的資源
- 動詞–表示HTTP方法,例如GET,POST和PUT
HTTP響應具有以下核心組件:
- HTTP版本–指示HTTP的當前版本
- 響應正文–表示響應消息的內容
- 響應標頭–包含HTTP響應消息的元數據,例如內容長度和服務器長度
- 狀態/響應代碼–指示所請求資源的服務器狀態
問題:關於RESTful Web服務,您對無狀態一詞有什麼瞭解?它的優點和缺點是什麼?
答:遵循REST體系結構,不允許使用RESTful Web服務在服務器上保留客戶端狀態。這種情況稱為無狀態。在這種情況下,客戶端會將其上下文傳遞給服務器。然後,服務器存儲上下文,以處理其他客戶端請求。
優點:
- 每種方法具有獨立解決防範
- 簡化的應用程序設計
- 使用HTTP協議
缺點:
- 要求在每次客戶端交互時提供有關每個請求的額外信息,以解釋客戶端狀態
問題:在設計安全的RESTful Web服務時,應遵循哪些要點?
答:
- 在適當的限制下執行DELETE,GET,POST,PUT等方法
- 隨時隨地調用HTTP通用消息
- 通過POST方法傳遞敏感數據,例如用戶名和會話令牌密碼。切勿通過URL使用它
- 每次發出請求時執行基於用戶會話的身份驗證
- 驗證服務器上所有來自SQL注入攻擊的輸入
問題:列出SOAP的各種優點和缺點。
答:
優點:
- 允許各種應用程序之間的通信
- 將通信和編碼協議與運行時環境解耦
- 定義並使用自己的被稱為WS安全性的安全性
- 除與供應商無關之外,消除了防火牆問題
- 允許在分散和分散的環境中傳播消息
- 平臺和編程語言無關
- 使用HTTP協議和XML發送和接收消息
缺點:
- 缺少安全功能
- 客戶端和Web服務緊密耦合
- 定義嚴格遵守的標準
- 無法在網絡瀏覽器上進行測試
- 不支持XML以外的輕量格式
- 性能較慢
問:SOAP消息的各種元素是什麼?
答:
- 正文–包含呼叫和響應消息。也定義為包含整個應用程序派生XML數據的信封的子元素,該XML數據已作為SOAP消息的一部分進行了交換。
- 信封–必需的根元素。翻譯XML文檔並確定SOAP消息的開始和結束。
- 故障元素–處理消息處理期間發生的錯誤。如果存在錯誤,則顯示為主體的子元素。
- 標頭–包含可選的消息標頭屬性,其中包含特定的應用程序信息。為了添加新的特性和功能,此元素可以在一條SOAP消息中出現多次。
問題:SOA架構。
答:SOA代表面向服務的體系結構。它被定義為由服務組成的架構模式。在SOA中,應用程序組件通過通信協議向其他組件提供服務。
通信可能涉及服務之間的數據交換或某種協調活動。有關SOA的重要關鍵原則是:
- 除了標準化之外,服務合同還必須包含服務的完整描述
- 為了使用不同的應用程序類型,服務應該是可重用的
- 鬆散耦合定義了Web服務與客戶端之間較少的依賴
- 必須遵循服務抽象規則,根據該規則,服務不應向客戶端應用程序公開執行功能的方式
- 服務應該是無狀態的,並且必須具有可發現性的功能
問題:WSDL是什麼
答 :WSDL是Web服務描述語言是Web服務協議堆棧的Service Description層中存在的簡單XML文檔。它描述了技術細節或將UI定位到Web服務。它包含以下重要信息:
- 頭信息
- 方法名稱
- 方法參數
- 服務起點
- 端口類型
- 服務端點
問題:列舉Web服務的各種主要安全問題。
答:在這裡您將獲得主要的安全問題:
- 身份驗證–用於驗證用戶的身份並檢查用戶是否有權訪問Web服務。這樣做也是出於跟蹤用戶活動的目的。可以考慮以下選項進行身份驗證:應用層認證客戶證書HTTP摘要和HTTP基本身份驗證
- 機密性–任何單獨的Web服務都可能具有多個應用程序。它們的服務路徑通常在其節點處包含潛在的弱鏈接。因此,每當客戶端將消息或XML請求與服務路徑一起發送到服務器時,都必須對其進行加密。
- 網絡安全–非常重要的安全問題,需要使用工具來過濾Web服務流量
注意:-為了確保可靠的交易並保護機密信息,Web服務要求高度的安全性。它是通過Entrust安全交易平臺實現的。
問題:WSDL文檔的各種元素是什麼?
答:
- 綁定–定義並確定每種端口類型的協議以及數據格式
- 消息–定義每個單獨操作的數據元素。它可能是整個文檔或尚未映射的參數
- 操作–定義要處理消息的操作
- 端口類型–定義可為綁定執行的操作的集合
- 類型–以XML模式的形式定義Web服務使用的消息數據類型
問題:是否可以綁定SOAP和WSDL?
答:可以綁定SOAP和WSDL。可以使用以下兩個屬性來完成此操作:
- 名稱–定義綁定的名稱
- 類型–定義綁定的端口
問題:WSDL中<port>元素的兩個屬性。/<port>
答:每個<port>元素都通過定義一個單獨的端點與一個單獨的綁定相關。<port>元素具有以下兩個屬性:/<port>/<port>
- 綁定–指必須根據WSDL定義的鏈接規則執行的綁定過程
- 名稱–在WSDL文檔中提供唯一的名稱
問:在WSDL中進行綁定時應考慮哪些要點?
答:在WSDL中綁定時,端口不得:
- 指定除地址信息以外的任何類型的綁定信息
- 指定多個地址
問題:您能否解釋使用Web服務的各種優勢?
答:使用Web服務有許多優點,其中最明顯的描述如下:
- 協助通過網絡公開現有功能,以便其他應用程序可以使用它們
- 易於部署,集成和重用
- 由於鬆散的耦合,簡化了集成
- 由於使用了HTTP上的SOAP協議,通信成本低
- 為客戶端應用程序提供某種必需的功能
- 支持互操作性,使應用程序可以輕鬆地相互通信和共享數據以及服務
- 使用標準化的Web服務協議棧進行通信
閱讀更多 夢迴故里歸來 的文章