• 什么是REST——适合初学者的一种简单解释,第一部分:介绍


      原文地址:https://medium.com/extend/what-is-rest-a-simple-explanation-for-beginners-part-1-introduction-b4a072f8740f  

      这篇文章是解释REST基本概念的两篇文章中的第一篇。

      阅读之前,你需要:

      对什么是HTTP和API有一定了解。

      REST是一种用于API的架构风格,或是设计模式。

      谁发明的REST?

      REST是由计算机科学家Roy Fielding定义的。他在他2000年的Phd论文中提出了REST原则。

      

      在我们开始钻研什么能使API变得RESTful(RESTful 就是具有REST风格的意思,类似beauty和beautiful)以及你需要遵循哪些约束和原则之前,让我们先来解释两个关键的术语:

    1. 客户端——客户端就是使用API的人或者软件。它可以是一个开发者,比如说你,就可以在你自己写的程序中使用Twitter的API来从Twitter上读取和写入数据,或是创建一个新的账户等等。你的程序会调用Twitter的API。客户端也可以是web浏览器。当你访问Twitter网站时,你的浏览器就是一个客户端, 它会调用Twitter的API并使用返回的数据在屏幕上渲染信息。
    2. 资源——一个资源可以是API提供的任何东西。在Instagram的API里,资源可是是一个用户,一张照片,一个标签。每个资源都有一个唯一的标识符。标识符可以是一个名字或是一个数字。

      现在我们回到REST的讨论。

      一个RESTful的web应用以资源的形式来向外暴露信息。它也能使客户端去操作这些资源,比如创建新的资源(如创建一个用户)或是改变现有资源。(如编辑一个发布)。

      为了让你的API变得RESTful,你必须在编写API时去遵循一些规则。REST规则能使你的API更易于使用,也更易于被发现,意思就是说使用你的API的开发者在学习如何使用时会更轻松。

      REST即 REpresentational State Transfer(表述性状态传输)。   注:representational是指具象的,写实的,与abstract抽象的是反义词。

      它的意思是当一个RESTful API被调用时,服务器会向客户端传输它请求资源的状态的表述。

      例如:当一名开发者调用了Instagram的API去获取一个特定的用户(资源),API会返回这名用户的状态,包括他的姓名,目前发表动态的数量,有多少粉丝等。

      状态的表述大多数是JSON格式的,也可以是XML或是HTML格式的。

      当你调用API是,服务器所要做的取决于两个你为服务器提供的东西:

    1. 你需要的资源的标识符。这是资源的URL,也就端点。实际上,URL就是Uniform Resource Locator(统一资源定位符)的意思。
    2. 你想让服务器在资源上所做的操作,以HTTP方法的形式,也叫动词的形式。通常的HTTP方法有 GET,POST,PUT,DELETE。

      例如:使用Twitter的RESTful API获取一个特定的Twitter用户,需要一个URL来识别那个用户和一个HTTP方法GET。

      另一个例子,如:www.twitter.com/jk_rowling 这个URL里有唯一的标识符指向Twitter上的J.K. Rowling用户,是她的用户名jk_rowling。Twitter使用用户名作为标识符,而且Twitter上的用户名确实是唯一的,不可能存在着两个用户拥有相同的用户名。

      HTTP方法GET表明我们要获得那个用户的状态。

      第二部分我们来学习6个REST约束。

      

      

  • 相关阅读:
    apache与tomcat负载集群的3种方法
    JFinal 源码分析 [DB+ActiveRecord]
    通过PowerShell获取TCP响应(类Telnet)
    Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载
    常用EXE文件反编译工具
    Shell采集系统cpu 内存 磁盘 网络信息
    MyEclipse运行很慢的原因
    Java令牌生成器
    Shell 编程基础之基本语法结构汇总
    Shell 编程基础之注意技巧
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9989407.html
Copyright © 2020-2023  润新知