一.Webservice基础知识

webservice Q&A

1.什么是Webservice?

Webservice基于客户 - 服务器系统,客户应用程序将获得网络服务。Webservice提供端点URL,并通过用java,shell脚本或许多其他技术编写的用户程序提供网络访问技术。Webservice是无状态的,不保留Web应用程序用户会话。
 

2. Webservice如何工作

Webservice使用HTML,XML,WSDL和SOAP等开放标准在不同的应用程序之间进行交互。您可以在Ubuntu上使用Java构建Webservice,可以从基于Windows的Visual Basic项目访问该服务。此外,C#还可用于为在Linux下运行的Java Server Pages(JSP)Web应用程序创建新的Windows enact Webservice
 

3. Webservice有哪些优势?

Webservice的一些主要好处是:
  • 互操作性:应用程序可以使用Webservice以任何语言与另一个应用程序进行交互。
  • 可重用性Webservice可能会暴露给其他应用程序。
  • 模块化:我们可以使用Webservice为特定任务(例如税务计算)构建服务。
  • 每个应用程序的标准协议Webservice使用标准化协议使其可以理解为使用各种语言编译的客户应用程序。这种通常的程序有助于跨平台的实现。
  • 更便宜的通信成本Webservice确实使用SOAP over HTTP来允许任何人使用已经存在的用于Webservice的Internet。
 

4. Webservice服务的组件有哪些

各种Webservice组件如下:
  • SOAP-  简单对象访问协议
  • UDDI-  通用描述,发现和集成
  • WSDL-  Webservice描述语言
  • RDF-  资源描述框架
  • XML-  可扩展标记语言

5.解释关于Webservice的术语互操作性

当我们谈论Web互操作性时,这同样适用。当我们谈论“互操作性”时,这同样适用于Webservice。在此背景下,它决定了不同应用程序,信息共享和服务之间的交互。要传达的请求类型不受限制。发布脚本时,它将被视为所有应用程序都能理解的标准脚本。因此,对于每个应用程序,降低了编写特定脚本的成本。
 

6.定义Webservice协议栈及其层

Webservice的协议栈包括四层。具体如下:
1)服务传输: 它是第一个支持在不同客户端程序之间传输XML消息并使用下面列出的协议的层:
  • HTTP(超文本传输​​协议)
  • SMTP(简单邮件传输协议)
  • FTP(文件传输协议)
  • BEEP(块可扩展交换协议)
2)XML消息传递:这是以XML模型为前提的,该模型以流行的XML格式对消息进行编码,其他人可以轻松理解。该层包括:
  • XML-RPC
  • SOAP(简单对象访问协议)
3)服务描述:  该层涉及位置,可用特征和描述特定Webservice的公共接口的XML消息传递数据类型的描述。包括这一层:
  • WSDL(Webservice描述语言)
4)服务发现:  该层提供了一种在整个Web上发布和查找Webservice的方法。该图层包含:
  • UDDI(通用描述,发现和集成)

7.解释Webservice架构

Webservice框架包含三个不同的体系结构层。以下是图层的作用:
  • 服务提供商: 顾名思义,服务提供商的职能是开发互联网服务,并通过互联网将其提供给客户软件供其使用。
  • 服务请求者: 与客户端应用程序一样,服务请求者本质上是Webservice的用户。通过可用的因特网连接传输XML需要,为任何语言联系Webservice中的所有类型的函数编译用户程序。
  • Service Registry:  Service Registry是支持客户Webservice定位的核心存储库。可以在这里找到当前的Webservice,新程序员也可以构建它们。
服务提供商使用注册表服务的“发布”界面使客户应用程序可以访问当前Webservice。服务请求者能够使用服务寄存器给出的所有信息附加或覆盖服务。
 

8.获得Webservice的一些优势

  • 每个应用程序当前都可以在Web上使用,它是Webservice,为用户应用程序提供一些必要的功能。
  • 为了支持其他应用程序,Webservice可以帮助通过网络公开现有功能。
  • 它具有诸如“互操作性”之类的特性,用于决定不同应用程序之间的交互,数据共享以及它们之间的服务。
  • 对于通信,Webservice使用由4层组成的标准互联网服务协议栈,即运输服务,XML消息,描述和发现服务。
  • 由于SOAP通过HTTP协议(简单对象访问协议)的应用,它提供了最小的交互成本。
  • 它易于安装,同化和重复使用。
  • 它允许在松耦合功能中轻松集成各种功能。

9.解释BEEP

BEEP代表Blocks Extendable Exchange Protocol。它被称为新的互联网工程任务组(IETF)直接在TCP上分层。它被称为新的IETF(Internet工程任务组),它直接叠加在TCP上。它具有一些集成功能,例如:
  • 认证
  • 安全
  • 错误处理
  • 握手协议

10.您对RESTful Webservice了解多少

REST代表Representational State Transfer。对于通过Web获得的应用程序的开发,REST被描述为无状态客户端 - 服务器体系结构。当Webservice使用HTTP方法时,它们被视为RESTful Webservice,用于实现REST体系结构理论。此体系结构样式中的数据和功能用作资源,可以通过URI访问。使用RESTful Webservice,Webservice可以通过创建以下属性来实现最佳性能:
  • 性能
  • 可扩展性
  • 可修改

11.解释RESTful Webservice的优点

RESTful Webservice的好处如下:
  • 这些可以用任何编程语言编写,并且可以在每个框架上执行。语言和框架完全独立。
  • REST非常紧凑,并且由于带宽和资源消耗较少而可以快速查看。
  • 该系统包括多种技术和数据格式,如明文,XML,JSON等。
  • 这可以通过浏览器进行切实可行的检查,并且具有松散耦合的实现。

12. REST Webservice和SOAP Webservice之间有什么区别

REST和SOAP之间的关键变化如下所述:
  • REST提升了各种格式,如text,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 Webservice支持的不同HTTP方法含义

下面提到了RESTful Webservice认可的一些流行的HTTP方法和函数:
  • GET:  对资源的只读访问权限。
  • PUT:  创建新资源。
  • 删除:  删除资源。
  • POST:  更新现有资源。
  • 选项:  获取资源支持的操作。
  • HEAD:  仅返回HTTP标头,nobody。

14.为了设计安全的RESTful Webservice,应该遵循哪些最佳因素

由于HTTP URL路径用作RESTful Webservice的组件,因此必须对其进行安全保护。
  • 在服务器上执行所有SQL注入攻击参数的批准。
  • 请求请求时,根据用户会话执行身份验证。
  • 不要使用诸如用户名,会话令牌密码等私人信息。这应该通过POST方法传输。
  • 应用GET,POST,PUT,DELETE等方法的适当限制。
  • 必要时,必须调用标准HTTP错误消息。

15.什么是SOAP Webservice

基于XML的协议被称为简单对象访问协议(SOAP),其被称为用于设计和开发Webservice以及在因特网上具有不同软件语言的各种平台上的应用程序的交互。它独立于平台和语言。
 

16. SOAP如何工作

SOAP提供客户端对象可访问的用户界面,并且可以从服务器对象访问它发送的应用程序。用户界面生成包括服务器对象和服务器对象接口名称的一些文档或过程。HTTP使用POST方法,该方法扫描方法并将结果发送到客户端,然后发送到服务器。使用POST方法,HTTP将XML发送到服务器,服务器检查方式并将结果传输给客户。服务器提供更多XML来通过HTTP回答用户界面请求。客户端可以使用任何策略发送XML,例如SMTP服务器或POP3协议,用于传递消息或回答查询。
 

17. SOAP的优点和缺点是什么

SOAP Webservice的好处如下:
  • SOAP提供不同应用程序之间的交互,并且独立于语言和平台。
  • 使用标准HTTP协议和XML传输和接收消息也非常容易。
  • 他们定义并使用自己的安全性,称为WS安全性。
  • 它断开了与工作环境的编码和交互。
  • 它消除了防火墙的困难,并且与卖方保持公正。
  • 它使消息能够在分布式和分散式环境中传播。
以下是SOAP Webservice的缺点:
  • 不支持XML以外的轻量级格式。
  • 在浏览器上,不容易测试。
  • 没有安全设施。
  • SOAP是一个缓慢的浏览器测试过程,无法轻松执行。
  • Webservice和客户密切相关,并描述必须严格遵守的某些要求。

18. 什么是SOAP消息的元素

SOAP类似于其他XML文档,并具有以下项目:
  • Envelope:  它转换XML文档并定义SOAP消息的开始和终止。该元素被确定为根元素。
  • 标题:  此元素包含包含特定应用程序信息的可选消息标题功能。可以多次执行此元素以添加新功能。
  • 正文: 此元素是必需的,包括请求和响应通知。它还被描述为信封中的子元素,涉及从SOAP消息中交换的应用程序中提取的所有XML数据。
  • Fault元素:  fault元素处理在整个消息处理过程中发生的错误。如果存在错误,则此元素可用作正文中的子元素。但是只能存在一个故障块。
 

19. SOAP信封元素的重要特征是什么

在上一个问题中,我们看到了SOAP信封的基本工作,现在让我们看看它的一些特性:
  • SOAP包装是一种包装过程。
  • 每条肥皂信息的根信息是强制性的。
  • 对于每个包络元素,仅允许一个主体元素。
  • 更改SOAP版本时,信封会更改。
  • 当header元素存在时,这应作为第一个子元素发生。
  • 对于规范,使用ENV前缀和包络元素。
  • 在可选的SOAP编码的情况下,使用命名空间和可选的编码样式。
 

20.定义SOA

由服务组成的体系结构模型被描述为面向服务的体系结构(SOA)。在该应用程序组件中,使用网络通信协议向其他组件提供服务。这种互动包括信息交流或服务合作。以下是SOA所基于的一些基本原则:
  • 必须在服务合同中简化服务的所有描述。
  • Webservice和客户端之间的松散连接定义了较少的依赖性。
  • 必须遵循服务抽象,该服务抽象表示服务不得指示客户端应用程序的功能是如何执行的。
  • 为了使用不同的应用程序类型,服务应该是可重用的。
  • 无状态服务应具有用户友好性特征。
  • 服务解决主要问题并使各种用户能够使用这些服务。

21.什么是WSDL

WSDL是Web描述语言服务。它是一个XML文档,包含在Webservice协议堆栈服务描述层中,该层概述了Webservice的技术信息或用户界面。WSDL文档中的一些重要信息如下:
  • 方法名称
  • 端口类型
  • 服务终点
  • 方法参数
  • 标题信息
  • 起源等

22. SOAP Webservice中的Top Down和Bottom Up方法有什么区别

开发与客户端的Webservice协议的第一个WSDL文档是在Top Down方法中开发的,之后代码被编写并称为第一个合同。这很难实现,因为必须编写类才能确认WSDL合同。优点是客户和服务器代码可以同时写入。
第一个Webservice代码使用Bottom Up方法编写,然后生成WSDL。它也被称为合同的最后一种方法。这种方法可以很容易地实现,因为WSDL是基于代码的。此方法客户端代码必须等到从服务器端启动WSDL。

23. WSDL文档的不同元素是什么

WSDL文档的各种元素和简要描述如下:
  • 类型:  它以XML方案的形式列出Webservice使用的消息数据的形式。
  • 消息:  这描述了要为每个事务映射的完整文档或参数的数据组件,其中可以包含消息。
  • 端口类型:  WSDL提供各种服务。类型端口确定绑定事务的集合。
  • 绑定:  查找并描述每种端口类型,协议和数据格式。
  • 操作:  指定如何处理消息以进行操作。

24.获取WSDL中使用的操作类型响应

基本上,WSDL定义了四种类型的响应类型操作。这些详述如下:
  • 单向:  获取消息,但不返回响应。
  • 请求 - 响应:  收到请求并返回回复。
  • 征求响应:  等待回复,发送请求。
  • 通知:  不期待响应,但发送消息。
也许最流行的操作类型涉及请求 - 响应。

27.可以使用多少通信协议来实现SOAP消息?SOAP消息是否与任何协议相关联?

来自不同背景的应用程序可以彼此快速通信,而无需使用传输协议知道各种系统的内部功能。来自不同背景的应用程序可以彼此快速交互,而无需使用传输协议了解各种系统的内部功能。SOAP消息可以用HTTP(超文本传输​​协议)实现,而FTP(文件传输协议)是一个值得信赖的传输过程。对于传输机制,也可以使用SMTP和BEEP。SOAP消息未链接到任何协议。可以使用任何开放式运输协议。

28. HTTP请求中Accept和Content-Type标头的用途是什么

这些是用于restful Webservice的关键标头。Accept标头指示客户端接受Webservice的响应类型。因此,当Webservice能够以XML和JSON格式发送答案,并且客户端将Accept标头发送到“application / xml”时,将发送XML答复。服务器发送Accept“application / json”头的JSON响应。标题Content-Type用于通知服务器发送的信息的格式。如果Content-Type标头是“application / xml”,则服务器会尝试将其分析为XML数据。在HTTP Post和Put请求中,此标头很有用。

29. Webservice的主要安全问题是什么

Webservice需要非常高的隐私,只能通过Entrust安全交易平台完成,以保证可信赖的交易和安全的私人信息。Webservice可利用漏洞分为三个广泛提及的部分安全挑战:
1)机密性:  单个Webservice有多种用途,并且可以在服务路径上建立到其端点的明显弱链接。因此有必要保持通信的机密性。因此有必要保持通信的机密性。
2)身份验证:身份验证主要是为了检查用户的身份并确保使用Webservice的用户有权使用它吗?还执行认证以遵循用户的实践。为此,有几个选项需要考虑:
  • 应用级别认证
  • HTTP摘要和HTTP基本身份验证
  • 客户证书
3)网络安全:  要求工具过滤Webservice上的流量是一个主要问题。

30.您对基金会安全服务了

以下是基础安全服务:
  • 积分
  • 认证
  • 授权
  • 数字签名
  • 加密过程

31. 什么是Restful Webservice中的资源

宁静架构的基本概念是资源。资源是一种类型对象,与许多其他资源和技术相关联。资源通过其URI,HTTP方法,数据类型和数据格式请求/响应来识别。

32.解释SOAPUI执行的操作

SOAPUI是一个功能测试解决方案,开源,免费和跨平台。SOAPUI采取的一些操作如下所述:
  • 他们可以帮助开发功能测试套件,安全和负载。
  • 还完成了基于场景测试驱动数据和测试。
  • 它可以代表Webservice并具有集成的报告功能。

33.测试Webservice有哪些不同的方法

可以通过创建WSDL客户端存根或soap用户界面等软件以编程方式检查SOAP Webservice。通过程序,卷曲指令和浏览器扩展,可以轻松测试REST Webservice。可以使用浏览器本身在没有任何程序的情况下评估GET方法资源。

34.什么是委托识别服务

Entrust安全交易平台对Entrust Identification Service进行分类,该服务为安全交易提供必要的安全功能。这有助于公司完全规范与Webservice交易可信赖的身份。

35.什么是Entrust权利服务

Entrust权利服务的挑战是验证管理获取Webservice的服务。它基本上保证了商业活动以及某些验证服务的保护。

二.高级Webservice知识点

36.如何在Webservice中处理身份验证

Webservice中,通常使用使用为API提供服务的后端服务器生成的JWT令牌来处理身份验证。这些令牌定期刷新以授权用户

37. Webservice比普通Servlet请求有什么好处?

Webservice允许更快地获取数据并支持各种响应类型。Webservice还允许使用严格的包络标准来验证和格式化数据

38.网络服务的主要应用是什么

Webservice主要用于预计前端与后端隔离的项目中。此外,Webservice还可用于向其他第三方用户公开后端业务逻辑。其他用途包括:
  • 使用Webservice存储数据
  • 使用Webservice进行身份验
  • 使用Webservice获取种子数据

39.为什么Webservice越来越受欢迎

Webservice是提供和使用数据的独立端点,与源接口的操作系统和编程语言无关。这样可以轻松修改和升级前端,而无需担心影响后端。
 

40.用于构建Webservice的一些流行的Java框架是什么

在Java中构建Webservice的最流行的方法是:
  • Spring REST控制器
  • JAX-RS
  • JAX-WS