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的应用程序.
#