REST风格相关内容

Top 20 REST API Interview Questions And Answers For Software Testers

Q-1. Explain REST?

答: REST代表Representational State Transfer(表征状态转移). REST是一种开发Web服务的架构风格,它利用无处不在的HTTP协议并利用HTTP方法来定义操作.
它围绕资源展开,每个组件都是一个资源,可以使用HTTP标准方法通过公共接口访问.

在REST体系结构中,REST服务器提供对资源和REST客户端访问的访问,并提供这些资源. 这里每个资源都由URI或全局ID标识.
REST使用不同的方式来表示像text,JSON和XML这样的资源.XML和JSON是目前最流行的资源表示.

Q-2.解释RESTFul Web服务?

答.大多数情况下,有两种Web服务很受欢迎.

1. SOAP(简单对象访问协议),它是一种基于XML的方式来公开Web服务.

2. 使用REST样式开发的Web服务称为RESTful Web服务.这些Web服务使用HTTP方法来实现REST体系结构的概念.RESTful Web服务通常定义URI,统一资源标识符和服务,提供资源表示,如JSON和HTTP方法集.

Q-3.解释什么是REST中的“资源”?

答. REST架构将每个内容视为资源.这些资源可以是文本文件,HTML页面,图像,视频或动态业务数据.

REST Server提供对资源和REST客户端访问的访问,并修改这些资源.这里每个资源都由URI /全局ID标识.


Q-4.在REST中表示资源的最流行方式是什么?

答.REST使用不同的表示来定义文本,JSON和XML等资源.

XML和JSON是最受欢迎的资源表示.

 

Q-5.RESTful Web服务使用哪种协议?

答.RESTful Web服务利用HTTP协议作为客户端和服务器之间的通信媒介.


Q-6.RESTful Web服务中的消息传递是什么?

答.RESTful Web服务利用HTTP协议作为客户端和服务器之间的通信媒介.客户端以HTTP请求的形式发送消息.

作为响应,服务器发送HTTP响应.这种技术称为消息传递.这些消息包含消息数据和元数据,即有关消息本身的信息.

Q-7.说明HTTP请求的核心组件?

答.每个HTTP请求包括五个关键元素.

1. 动词,表示HTTP方法,如GET, PUT, POST, DELETE.
2. URI代表统一资源标识符(URI).它是服务器上资源的标识符.
3. HTTP版本,表示HTTP版本,例如HTTP-v1.1.
4. 请求标头携带HTTP请求消息的元数据(作为键值对).元数据可以是客户端(或浏览器)类型,客户端支持的格式,邮件正文格式和缓存设置.
5. Request Body指示消息内容或资源表示.


Q-8.说明HTTP响应的核心组件?

答.每个HTTP响应都包含四个关键元素.

1. 状态/响应代码 - 表示HTTP请求中存在的资源的服务器状态.例如, 404表示未找到资源, 200表示响应正常.
2. HTTP版本 - 表示HTTP版本, 例如HTTP-v1.1.
3. 响应标头 - 包含以键值对形式存储的HTTP响应消息的元数据.例如, 内容长度, 内容类型, 响应日期和服务器类型.
4. 响应主体 - 表示响应消息内容或资源表示.

 

Q-9. 命名REST支持的最常用的HTTP方法?

答. REST中有一些HTTP方法比较流行.

1. GET - 它在请求URL请求资源. 它不应该包含请求主体, 因为它将被丢弃. 也许它可以在本地缓存或在服务器上缓存.
2. POST - 它向服务提交信息以进行处理; 它通常应该返回修改后的或新的资源.
3. PUT - 在请求URL处更新资源.
4. DELETE - 它删除请求URL处的资源.
5. OPTIONS - 它表示支持的技术.
6. HEAD - 返回有关请求URL的元信息.

Q-10. 提及是否可以使用GET请求而不是PUT来创建资源?

答. 不, 您不应该使用PUT或POST方法. 而是应用具有仅查看权限的GET操作.

Q-11. PUT和POST操作之间有什么区别吗?解释一下.

答. PUT和POST操作几乎相同. 两者之间的唯一区别在于它们产生的结果.

PUT操作是幂等的, 而POST操作可以给出不同的结果.

我们来举个例子吧.

1. PUT将文件或资源放在特定的URI上, 并且恰好放在该URI上. 如果资源已经存在, 那么PUT会更新它. 如果这是第一次请求, 那么PUT会创建一个.
2. POST将数据发送到特定URI, 并期望该URI处的资源处理该请求. 此时Web服务器可以决定如何处理指定资源上下文中的数据.

Q-12. OPTIONS方法用于RESTful Web服务的目的是什么?

答. 此方法列出了Web服务支持的所有操作. 它向服务器发出只读请求.

Q-13. 什么是URI?在基于REST的Web服务中解释其目的. 它的格式是什么?

答. URI代表统一资源标识符. URI是REST体系结构中资源的标识符.

URI的目的是在托管Web服务的服务器上定位资源. URI具有以下格式 -

<协议>:// <服务名称> / <的ResourceType> / <的ResourceID>

 

Q-14. 您对RESTFul Web服务中的有效负载有何了解?

答. 每个HTTP消息的请求主体包括称为Payload的请求数据. 收件人对此部分邮件感兴趣.

我们可以说我们在POST方法中发送有效负载, 但在<GET>和<DELTE>方法中不发送.

 

Q-15. 在POST方法中传递的有效负载的上限是多少?

答. <GET>将数据附加到服务URL. 但是, 它的大小不应超过最大URL长度. 但是, <POST>没有任何此类限制.

因此, 理论上, 用户可以将无限数据作为有效负载传递给POST方法. 但是, 如果我们考虑一个真实的用例, 那么发送具有大负载的POST将消耗更多带宽. 您的服务器需要更多时间和性能挑战. 因此, 用户应该采取相应的行动.

Q-16. 解释缓存机制?

答. 缓存是在客户端存储服务器响应的过程. 它使服务器节省了一次又一次地提供相同资源的大量时间.

服务器响应保存导致客户端执行缓存的信息. 它可以帮助客户决定存档响应的时间长短或根本不存储响应.

Q-17. 列出SOAP和REST之间的主要区别?

SOAP
1. SOAP是两个计算机通过共享XML文档进行通信的协议.
2. SOAP支持唯一的XML格式.
3. SOAP不支持缓存.
4. SOAP就像自定义桌面应用程序,与服务器紧密相连.
5. SOAP比REST慢.
6. 它在HTTP上运行但包含消息.

REST
1. Rest是一种基于网络的软件架构的服务架构和设计.
2.它支持许多不同的数据格式.
3.它支持缓存.
4. REST客户端,就像一个浏览器,并使用标准方法. 应用程序必须适合它.
5.它比SOAP快.
6.它使用HTTP标头来保存元信息.

 


Q-18. 有哪些可用于测试Web服务的工具?

答. 以下工具可以帮助测试SOAP和RESTful Web服务.

1. SOAP UI工具.
2. Firefox浏览器的Poster.
3. Chrome的Postman扩展程序.

 

Q-19. 解释有助于决定使用Web服务风格的因素?SOAP还是REST?

答. 通常,由于其简单性,性能,可伸缩性以及对多种数据格式的支持,因此首选使用基于REST的Web服务.

但是,SOAP有利于在服务需要高级安全性和事务可靠性的情况下使用.

但在选择任何样式之前,您可以阅读以下事实.

1.服务是否公开数据或业务逻辑?为了公开数据,REST将是一个更好的选择和SOAP逻辑.
2.如果消费者或服务提供者需要正式合同,那么SOAP可以通过WSDL提供这样的合同.
3.需要支持多种数据格式. REST支持这一点.
4.支持AJAX调用. REST可以使用XMLHttpRequest.
5.同步和异步调用 - SOAP启用同步/异步操作,而REST内置支持同步.
6.无状态或有状态呼叫-REST适用于无状态操作.

以下是您可以考虑的一些高级事实.

1.安全要求 - SOAP提供高级别的安全性.
2.事务支持 - SOAP对事务管理有很好的支持.
3.有限的带宽 - SOAP在发送/接收数据包时有很多开销,因为它基于XML,需要SOAP头. 但是,REST需要较少的带宽就能将请求发送到服务器. 它的消息大多是使用JSON构建的.
4.易用性 - 易于实现,测试和维护基于REST的应用程序.

 

#

posted @ 2019-03-07 13:02  心悦飞飞  阅读(213)  评论(0编辑  收藏  举报