web前端面试问答_Web服务面试问答
web前端面試問答
在這篇文章中,我們涵蓋了您需要熟悉的Web服務概念的幾乎所有部分,以回答任何層級問題。 您還將在分類中找到最佳的Web服務面試問題和答案,因此只有在必要時才可以使用特定條款。
今天可以在各種編程平臺上開發各種Web應用程序。 確保此類多樣化應用程序之間的完整而準確的連接變得更加困難。 該問題的解決方案是“ Web服務”,它認為并充當在具有開發的不同編程語言的所有這些不同Web應用程序之間進行通信的方式。 Web服務使用可通過Internet或專用網絡輕松訪問的結構化XML通信系統。
目錄
- Web服務基礎
- REST和SOAP Web服務
- 高級Web服務問題
Web服務基礎
1.什么是Web服務?
Web服務基于客戶-服務器系統,客戶應用程序將從中獲取網絡服務。 Web服務提供端點URL,并通過用Java,Shell腳本或許多其他技術編寫的用戶程序提供網絡訪問技術。 Web服務是無狀態的,并且不保留Web應用程序用戶會話。
2. Web服務如何工作?
Web服務使用諸如HTML,XML,WSDL和SOAP之類的開放標準在不同應用程序之間進行交互。 您可以在Ubuntu上的Java上構建Web服務,該服務可以從Windows本地的Visual Basic項目訪問。 另外,C#可用于為Java Server Pages(JSP)Web應用程序創建新的Windows enact Web服務,該服務在Linux下運行。
3. Web服務的優點是什么?
Web服務的一些主要優點如下:
- 互操作性 :一個應用程序可以使用Web服務以任何語言與另一個應用程序進行交互。
- 可重用性 :Web服務可能會公開給其他應用程序。
- 模塊化 :我們可以使用Web服務為特定任務構建服務,例如稅金計算。
- 每個應用程序的標準協議 :Web服務使用標準化協議,使它對于以各種語言編譯的客戶應用程序而言是可以理解的。 此常規過程有助于跨平臺實現。
- 通訊成本更低 :Web服務確實使用HTTP上的SOAP來允許任何人使用Web服務已經存在的Internet。
4. Web服務的組成部分是什么?
各種Web服務組件如下:
- SOAP-簡單對象訪問協議
- UDDI-通用描述,發現和集成
- WSDL- Web服務描述語言
- RDF-資源描述框架
- XML可擴展標記語言
5.解釋關于Web服務的互操作性嗎?
當我們談論Web互操作性時,這同樣適用。 當我們談論“互操作性”時,同樣適用于Web服務。 在這種情況下,它決定了不同應用程序,信息共享和服務之間的交互。 不限制要傳達的請求的類型。 腳本發布后,它將被視為所有應用程序都可以理解的標準腳本。 因此,對于每個應用程序,降低了編寫特定腳本的成本。
6.定義Web服務協議棧及其層?
Web服務的協議棧包括四層。 如下所示:
1)服務傳輸:這是第一層,它允許在不同的客戶端程序之間傳輸XML消息并使用以下列出的協議:
- HTTP(超文本傳輸??協議)
- SMTP(簡單郵件傳輸協議)
- FTP(文件傳輸協議)
- BEEP(塊可擴展交換協議)
2)XML消息傳遞:這是基于XML模型的,該模型以其他人可以輕松理解的流行XML格式編碼消息。 該層包括:
- XML-RPC
- SOAP(簡單對象訪問協議)
3)服務描述:該層包括位置,可用功能的描述以及描述特定Web服務的公共接口的XML消息傳遞數據類型。 包括這一層:
- WSDL(Web服務描述語言)
4)服務發現:此層提供了一種在整個Web上發布和查找Web服務的方法。 該層包含:
- UDDI(通用描述,發現和集成)
7.解釋Web服務架構?
Web服務框架包括三個不同的體系結構層。 以下是各層的作用:
- 服務提供商:顧名思義,服務提供商的功能是開發Internet服務,并通過Internet將其提供給客戶軟件以供使用。
- 服務請求者: ? 與客戶端應用程序一樣,服務請求者本質上是Web服務的用戶。 通過通過可用的Internet連接傳輸XML要求,可以以任何語言聯系Web服務為所有類型的功能編譯用戶程序。
- 服務注冊表:服務注冊表是支持客戶Web服務位置的核心存儲庫。 當前的Web服務可以在這里找到,新的程序員也可以構建它們。
服務提供商通過注冊表服務的“發布”界面使當前的Web服務可供客戶應用程序訪問。 服務請求者能夠使用服務寄存器提供的所有信息來附加或覆蓋服務。
8.享受Web服務的一些優勢?
- 當前每個應用程序都可以在Web上使用,它是Web服務,為用戶應用程序提供了一些必要的功能。
- 為了支持其他應用程序,Web服務可以幫助通過網絡公開現有功能。
- 它具有諸如“互操作性”之類的特性,這些特性決定了不同應用程序之間的交互,數據共享以及它們之間的服務。
- 為了進行通信,Web服務使用標準的Internet服務協議棧,該協議棧包括4個層,即運輸服務,XML消息,描述和發現服務。
- 由于SOAP通過HTTP協議(簡單對象訪問協議)進行應用,因此它提供了最小的交互成本。
- 它易于安裝,吸收和重復使用。
- 在松耦合功能中,可以輕松集成各種功能。
9.解釋嗶聲?
BEEP代表塊可擴展交換協議。 它被稱為直接位于TCP之上的新的Internet工程任務組(IETF)。 它被稱為新的IETF(Internet工程任務組),它直接疊加在TCP上。 它具有一些集成功能,例如:
- 認證方式
- 安全
- 錯誤處理
- 握手協議
REST和SOAP Web服務
10.您對RESTful Web服務了解多少?
REST代表代表性狀態轉移。 對于通過Web獲得的應用程序的開發,REST被描述為無狀態的客戶端-服務器體系結構。 當Web服務使用HTTP方法時,它們被視為實現REST體系結構理論的RESTful Web服務。 這種體系結構樣式的數據和功能用作資源,并且可以通過URI訪問。 使用RESTful Web服務,Web服務可以通過創建以下屬性來發揮最佳性能:
- 性能
- 可擴展性
- 可修改性
11.解釋RESTful Web服務的優勢嗎?
RESTful Web服務的優點如下:
- 這些可以用任何編程語言編寫,并且可以在每個框架上執行。 語言和框架是完全獨立的。
- REST緊湊,由于帶寬和資源消耗少,因此可以快速查看。
- 該系統包括多種技術和數據格式,例如純文本,XML,JSON等。
- 可以通過瀏覽器進行可行性檢查,并具有松散耦合的實現。
12. REST Web服務和SOAP Web服務之間有什么區別?
REST和SOAP之間的主要差異如下所述:
- REST提倡各種格式,例如文本,JSON和XML,而SOAP僅支持XML。
- REST僅通過HTTP(S)在傳輸層上運行,因為SOAP也可以在單獨的傳輸層協議上使用。
- REST使用資源進行操作,而每個URL都是一個資源描述,而SOAP則通過使用各種工作流來創建特定業務邏輯的業務操作進行操作。
- 面向SOAP的讀取無法歸檔,因為SOAP需要在面向REST的讀取進行歸檔的地方進行緩存。
- SOAP增強SSL和WS的安全性-REST僅增強SSL安全性。
- SOAP促進ACID(原子性,一致性,隔離性,耐久性); REST促進事務,但是它不符合ACID,并且不能提供兩個提交階段。
13.解釋RESTful Web服務支持的不同HTTP方法嗎?
RESTful Web服務認可的一些流行的HTTP方法和功能如下所述:
- GET:對資源的只讀訪問。
- 放置:創建新資源。
- 刪除:刪除資源。
- POST:更新現有資源。
- 選項:獲取對資源的支持操作。
- HEAD:僅返回HTTP標頭,沒有人。
14.為了設計安全的RESTful Web服務,應遵循的最佳因素是什么?
由于HTTP URL路徑用作RESTful Web服務的組件,因此必須加以保護。
- 在服務器上執行所有SQL注入攻擊參數的批準。
- 請求請求時,根據用戶會話執行身份驗證。
- 不要使用私人信息,例如用戶名,會話令牌的密碼等。這些信息應通過POST方法傳輸。
- 對諸如GET,POST,PUT,DELETE等方法的適當限制。
- 必要時,必須調用標準HTTP錯誤消息。
15.什么是SOAP Web服務?
基于XML的協議被稱為簡單對象訪問協議(SOAP),該協議以Web服務的設計和開發以及各種平臺上的應用程序與Internet上具有不同軟件語言的交互而聞名。 它獨立于平臺和語言。
16. SOAP如何工作?
SOAP提供了一個可由客戶機對象訪問的用戶界面,并且它發送的應用程序可從服務器對象訪問。 用戶界面生成一些文檔或過程,包括服務器對象和服務器對象接口名稱。 HTTP使用POST方法,該方法將掃描該方法并將結果發送到客戶端和服務器。 HTTP使用POST方法,將XML發送到服務器,服務器檢查服務器的方式并將結果傳輸給客戶。 服務器提供更多XML,以通過HTTP回答用戶界面請求。 客戶端可以使用任何策略來發送XML,例如SMTP Server或POP3協議來傳遞消息或回答查詢。
17. SOAP的優缺點是什么?
SOAP Web服務的好處在下面提到:
- SOAP提供了不同應用程序之間的交互,并且獨立于語言和平臺。
- 使用標準的HTTP協議和XML傳輸和接收消息也非常容易。
- 他們定義并采用了自己的安全性,即WS安全性。
- 它將編碼和交互與工作環境斷開。
- 它消除了防火墻的麻煩,并且對賣方公正。
- 它使消息能夠在分布式和分散式環境中傳播。
以下是SOAP Web服務的缺點:
- 不支持XML以外的輕量級格式。
- 在瀏覽器上,不容易測試。
- 沒有安全設施。
- SOAP是一個緩慢且無法輕松進行瀏覽器測試的過程。
- Web服務和客戶端之間有著緊密的聯系,并描述了必須嚴格遵守的某些要求。
18. SOAP消息的元素是什么?
SOAP與其他XML文檔類似,并且具有以下各項:
- 信封:它轉換XML文檔并定義SOAP消息的開始和結束。 該元素被確定為根元素。
- 標頭:此元素包括包含特定應用程序信息的可選消息標頭功能。 該元素可以發生多次,以添加新的功能。
- 正文:此元素是必需元素,包括請求和響應通知。 它也被描述為信封中的子元素,涉及從SOAP消息中交換的,從應用程序提取的所有XML數據。
- Fault元素: Fault元素處理在整個消息處理過程中發生的錯誤。 如果存在錯誤,則此元素可用作主體中的子元素。 但是只能存在一個故障塊。
19. SOAP信封元素的重要特征是什么?
在上一個問題中,我們看到了SOAP信封的基本工作,現在讓我們看看它的一些功能:
- SOAP打包是打包過程。
- 每個肥皂消息的根消息都是強制性的。
- 對于每個信封元素,只允許一個身體元素。
- 更改SOAP版本時,信封會更改。
- 當header元素存在時,這應該作為第一個孩子出現。
- 為了規范,使用了ENV前綴和信封元素。
- 如果是可選的SOAP編碼,則使用名稱空間和可選的編碼樣式。
20.定義SOA?
由服務組成的體系結構模型被描述為面向服務的體系結構(SOA)。 在此應用程序組件中,使用網絡通信協議向其他組件提供服務。 這種交互包括信息交換或服務合作。 以下是SOA所基于的一些基本原則:
- 服務合同中必須簡化所有服務描述。
- Web服務和客戶端之間的松散連接定義了較少的依賴性。
- 必須遵循服務抽象,該抽象表示服務不能指示客戶端應用程序的功能是如何執行的。
- 為了使用不同的應用程序類型,服務應該是可重用的。
- 無狀態服務應具有用戶友好性特征。
- 服務解決了主要問題,并使各種用戶可以使用服務。
21.什么是WSDL?
WSDL是Web描述語言服務。 它是一個XML文檔,包含在Web服務協議棧服務描述層中,概述了Web服務的技術信息或用戶界面。 WSDL文檔中的一些重要信息如下:
- 方法名稱
- 端口類型
- 服務終點
- 方法參數
- 標頭信息
- 產地等
22. SOAP Web服務中的“自上而下”和“自下而上”方法有什么區別?
用于開發與客戶打交道的Web服務的第一個WSDL文檔是以自上而下的方式開發的,然后編寫代碼并將其稱為第一個合同。 這很難實現,因為必須編寫類來確認WSDL合同。 優點是客戶和服務器代碼可以同時寫入。
第一個Web服務代碼使用Bottom Up方法編寫,然后生成WSDL。 也稱為合同的最后一種方法。 由于WSDL是基于代碼的,因此可以輕松實現此方法。 這種方法的客戶端代碼必須等待,直到從服務器端啟動WSDL。
23. WSDL文檔有哪些不同元素?
WSDL文檔的各種元素和簡要描述如下:
- 類型:它以XML方案的形式列出了Web服務使用的消息數據的形式。
- 消息:這描述了每個事務要映射的完整文檔或參數的數據組件,其中可能包含消息。
- 端口類型: WSDL提供各種服務。 端口類型確定綁定事務的集合。
- 綁定:查找并描述每種端口類型,協議和數據格式。
- 操作:這指定如何為該操作處理消息。
24.征服WSDL中使用的操作類型響應嗎?
基本上,WSDL定義了四種類型的響應類型操作。 這些詳細說明如下:
- 單向:獲取消息,但不返回響應。
- Request-Response:收到請求并返回答復。
- 請求響應:等待響應,發送請求。
- 通知:不期望響應,而是發送一條消息。
也許最流行的操作類型涉及請求-響應。
25.什么是UDDI?
UDDI是一種通用的描述,發現和集成。 UDDI是一個Web服務存儲庫,客戶應用程序可以在其中搜索Web服務。 Web服務可以輸入,并使客戶應用程序可以訪問UDDI服務器。
26. SOA和WEB SERVICE有什么區別?
面向服務(SOA)架構包括應用程序開發中的模塊化方法,該方法涉及通過常規互操作性使用具有標準化接口的分布式,松散耦合元素(松耦合)。 根據面向服務的體系結構開發的軟件系統通常用作與SOAP協議進行通信的一系列基于Web的服務,但是還有其他應用程序(例如,基于jini的,基于CORBA的,基于REST的)。 使用XML,JSON和其他Web協議(例如HTTP(S),SMTP等)的Web服務正在實現此概念。
SOAP消息是否綁定到任何協議?
來自不同背景的應用程序可以彼此快速通信,而無需了解使用傳輸協議的各種系統的內部功能。 來自不同背景的應用程序可以快速相互交互,而無需了解使用傳輸協議的各種系統的內部功能。 可以使用HTTP(超文本傳輸??協議)實現SOAP消息,而FTP(文件傳輸協議)則是可信賴的傳輸過程。 對于傳輸機制,也可以使用SMTP和BEEP。 SOAP消息未鏈接到任何協議。 可以使用任何開放式運輸協議。
28. HTTP請求中Accept和Content-Type標頭的用途是什么?
這些是靜態Web服務的關鍵標頭。 接受標頭指示客戶端正在接受Web服務的響應類型。 因此,當Web服務能夠以XML和JSON格式發送答案,并且客戶端將Accept標頭發送到“ application / xml”時,將發送XML答復。 服務器發送接受“ application / json”標頭的JSON響應。 標題“內容-類型”用于通知服務器所發送信息的格式。 服務器嘗試將Content – Type標頭分析為XML數據(如果它是“應用程序/ xml”)。 在HTTP Post和Put請求中,此標頭很有用。
29. Web服務的主要安全問題是什么?
Web服務要求非常高的隱私級別,只有通過Entrust安全交易平臺才能實現,以保證可信賴的交易和安全的私人信息。 Web服務的可利用漏洞分為三個被廣泛提及的部分安全挑戰:
1)機密性:單個Web服務有多種用途,并且可以在服務路徑上建立到其端點的明顯的弱鏈接。 因此,有必要對通信保密。 因此,有必要對通信保密。
2)身份驗證:身份驗證實際上是為了檢查訂戶的身份并確保使用Web服務的訂戶有權使用或不使用它? 還執行身份驗證以遵循用戶的實踐。 為此,可以考慮以下幾種選擇:
- 應用層認證
- HTTP摘要和HTTP基本身份驗證
- 客戶證書
3)網絡安全:這是一個主要問題,需要使用工具來過濾Web服務上的流量。
30.您對基金會安全服務了解多少?
以下是基礎安全服務:
- 積分
- 認證方式
- 授權書
- 數字簽名
- 加密過程
31. Restful Web服務中的資源是什么?
靜態架構的基本概念是資源。 資源是一種類型對象,與使用的許多其他資源和技術有關。 資源通過其URI,HTTP方法,數據類型和數據格式請求/響應來識別。
32.解釋SOAPUI執行的操作?
SOAPUI是一個功能測試解決方案,開源,免費和跨平臺的。 下面提到了SOAPUI采取的一些措施:
- 他們可以幫助開發功能測試套件,安全性和負載。
- 還測試了驅動數據和基于方案的測試。
- 它可以代表Web服務并具有集成的報告功能。
33.有什么不同的方法來測試Web服務?
可以通過創建WSDL客戶端存根或諸如soap用戶界面之類的軟件以編程方式檢查SOAP Web服務。 使用程序,curl指令和瀏覽器擴展,可以輕松測試REST Web服務。 可以使用瀏覽器本身來評估GET方法資源,而無需任何程序。
34.什么是委托識別服務?
Entrust安全交易平臺對Entrust身份識別服務進行了分類,該服務為安全交易提供了必要的安全功能。 這有助于公司完全規范可信任的Web服務交易身份。
35.什么是委托權利服務?
Entrust權利服務將是那些面臨挑戰的人,這些服務的挑戰是驗證設法獲得Web服務的服務。 它從根本上保證了商業活動以及某些驗證服務中的保護。
高級Web服務問題
36.如何在Web服務中處理身份驗證?
在Web服務中,通常使用服務于API的后端服務器生成的JWT令牌來處理身份驗證。 這些令牌會定期刷新以授權用戶
37. Web服務比普通的Servlet請求有什么好處?
Web服務允許更快地獲取數據并支持各種響應類型。 Web服務還允許使用嚴格的信封標準來驗證和格式化數據
38. Web服務的主要應用是什么?
Web服務主要用于預期將前端與后端隔離的項目中。 此外,Web服務還可以用于向其他第三方用戶公開后端業務邏輯。 其他用途包括:
- 使用Web服務存儲數據
- 使用Web服務進行身份驗證
- 使用Web服務獲取種子數據
39.為什么Web服務越來越流行?
Web服務是獨立的端點,無論源接口的操作系統和編程語言如何,都可以提供和使用數據。 這使得可以輕松修改和升級前端,而不必擔心會影響后端。
40.有哪些流行的Java框架可用于構建Web服務?
用Java構建Web服務的最流行的方法是:
- Spring REST控制器
- JAX-RS
- JAX-WS
結論
這些是有關我們服務的最重要問題。 回答這些問題的目的是使您的面試更加輕松。 但是,總會有更多的探索。
如果您喜歡此功能,請訂閱我們的時事通訊,以享受每周更新和免費白皮書! 另外,請查看我們的課程以獲得更高級的培訓!
歡迎您提出您的意見,我們會將其納入本文!
翻譯自: https://www.javacodegeeks.com/2019/04/web-services-interview-questions-answers.html
web前端面試問答
總結
以上是生活随笔為你收集整理的web前端面试问答_Web服务面试问答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: voyo平板电脑13.3寸(VOYO平板
- 下一篇: 使用junit进行单元测试_使用JUni