RESTfulAPI初学者指南-学习网-初学者-指南-API-RESTful「restfulapi教程」

假如您不认识API(应用程序编程接口),那么在您碰到REST之前不久就会云云,REST是一种便于跨收集的计较机体系之间通讯的架构气概。那么REST最紧张的是什么?在本指南中,当我们深入研究万维网背后的基础技能时,我们将回覆这些问题和其他问题。HTTP和万维网REST是一种系统布局样式,描述了分布式应用程序应若何彼此交互。但要真正相识REST是什么,起首需要相识两个概念:资源,雷同于Web的名词–它们描述了客户端可能想要从办事器中提取的“事物”(比方,构成网页的文档和文件)。HTTP谓词,它是Web的动词–它们描述了您可以对资源执行的“操作”,比方GET,POST,PUT和DELETE。在实际世界中,将动词应用于名词是我们人类天天都在做的事变,没有什么贫苦。你可以从咖啡桌上“取出”遥控器,“喝”咖啡,然后“松开”松饼,没有任何混合。人机界面可以或许区分在时空束缚下我们能做什么和不能做什么。在万维网上,您需要更详细。需要同一资源标识符(URI)来标识应用程序要会见的资源。需要HTTP(超文本传输​​协议),以便客户端知道可以将哪些“动词”应用于该资源。在欣赏器中键入一种称为URL(统一资源定位符)的特殊类型的URI并按Enter键,它会启动一系列事务,这些事务会导致向办事器发送GET哀求,该办事器会相应您想要的网页会见,您此刻拥有HTTP和万维网规范的尺度实现。这统统都很好,但REST在那里?要回覆这个问题,请活着纪之交(1999年至2000年)将本身置于平凡收集开辟职员的角度。您知道若何使用HTTP和WWW规范设计Web应用程序。您的下一个逻辑问题是:设计杰出的Web应用程序是什么样的?围绕这些规范设计软件的最佳实践是什么?REST是什么?因此,在2000年,HTTP规范的首要作者之一RoyT.Fielding揭晓了他出名的博士论文。它引入了REST的概念,并作为设计杰出的Web应用程序应该是什么样子的第一个正式描述之一:REST提供了一组系统布局束缚,看成为一个整体应用时,夸大组件交互的可伸缩性,接口的通用性,组件的自力布置以及中心组件,以削减交互延迟,实行平安性并封装遗留体系。在接下来的部门中,我们将具体先容RESTAPI的概念和束缚。关注点星散:客户端和办事器全部RESTful应用程序必需尊敬客户端和办事器之间的关注点星散。这意味着客户端和办事器可以完全互操作。只要客户端和办事器都赞成数据花样(每每是JSON)和新闻通报协议(HTTP),就可以在不影响办事器操作的环境下更改客户端的代码,而且可以在不影响办事器端的代码的环境下更改代码客户端。这种模块化使RESTful应用程序加倍机动,更易于扩展。可以接纳面向组件的开发方法,只要它们会见正确的REST端点,差别的客户端和办事器就可以彼此交互。无国籍RESTful应用程序是无状况的。客户端不需要知道办事器处于什么状况,反之亦然。这意味着办事器和客户端可以彼此理解而无需查看从前的新闻。这种束缚背后的设法是,从客户端到办事器的每个哀求都应该包罗办事器理解哀求所需的全部上下文,而不依靠于存储在办事器上的任何上下文。换句话说,会话状况完全保留在客户端上。无国籍束缚有明确的衡量。您可以通过重复数据传输的情势增长每次交互的收集开销,从而得到可见性,靠得住性和可扩展性。幸运的是,有一个解决方案:缓存。可缓存为了赔偿无状况束缚对客户端–服务器交互所带来的收集效率,RESTful办事必需支撑缓存,即可以或许沿哀求路径存储频仍会见的数据的副本。高速缓存束缚要求将对哀求的响应中的数据标志为可高速缓存或不行高速缓存。可缓存的相应打开了消除整个相应树的可能性。当发出哀求时,起首查抄高速缓存或一系列高速缓存以查找频仍会见的数据。仅当收集哀求无法在任何缓存中找到它正在查找的数据时,收集哀求才会传送到办事器。缓存可削减办事器上的带宽,延迟和总体负载。它还可以屏障用户的收集故障,由于他们仍旧可以检察存储在缓存中的网页。这就是您的ISP将缓存数据存储在其办事器上的欣赏风俗上的缘故原由。分层体系REST通过支撑分层体系进一步星散了关注点。这是一种系统布局样式,涉及将举动封装到遵照体系条理布局的组件层中。比方,您可能有三个办事器,X,Y和Z.API布置在办事器X上,数据存储在办事器Y上,身份验证在办事器Z上处置惩罚。可是,就终极用户而言,他或她只是发送哀求(比方,点击链接)并吸收相应(指向新网页)。分层体系可以与哀求路径上的共享中介处的高速缓存配对,通过跨多个收集和处置惩罚器的办事负载均衡来提高收集机能。同一界面RESTful应用程序的焦点和魂灵是组件之间同一接口的设法。REST由四个接口束缚界说:哀求中的资源标识,可以定名的任何信息都是资源,可以通过URI识别资源,这与资源类型无关。通过表现来处置惩罚资源。这些资源的表现不是直接利用资源,而是在整个体系中通报。HTML,XML,SVG,JSON和PNG是资源表现花样的示例。自我描述性的信息,每个客户端哀求和办事器相应都包罗作用于资源所需的全部上下文。基本上,每个相应都通过为每个相应中的许可操作提供URI来描述API的使用方式。有点争议的是,很多自称为RESTful的API都跳过了这个要求。但要真正的RESTful原始论文,HATEOAS是一个艰巨的要求。总而言之,组件之间有一个同一的接口,可以将实现与它们提供的办事星散,并激励自力的成长。换句话说,您实现了分布式收集中的应用程序之间的互操作性–RESTfulAPI。相关文章推荐APPIUM–用于测试的主动化工具  Appium最初由DanCueller开辟,用于操纵AppleiOS的UI主动化框架对本机移动应用程序运行[…]...谈天呆板人开辟框架  Chatbot也被称为IMBot,人工会话实体,谈话呆板人和谈天呆板人。它是一个主动化软件程序,通过音频谈天[…]...OAuth2.0:掩护客户端根据的节点API  掩护办事器客户根据可能很棘手,OAuth2.0是将用户身份验证卸载到其他办事的绝佳方法,但假如没有效户举行身[…]...php是什么?为什么要使用php?  PHP(PHP的递归首字母缩写:HypertextPreprocessor)是JavaScript和Pyth[…]...Kubernetes教程–基础常识入门  Google创建了Kubernetes,以帮忙开辟职员更好地跨集群治理其容器化应用程序。只管测试版于2014年[…]...RESTful,API初学者指南
你可能想看:

客户评论

我要评论