REST API详解

本文深入解析REST(Representational State Transfer)架构风格,介绍了REST的基本概念、核心要求,以及基于HTTP的REST API工作原理。通过实例演示了如何使用REST API进行资源操作,并阐述了REST API的优缺点。
摘要由CSDN通过智能技术生成

原创Blog,转载请注明出处
blog.csdn.net/hello_hwc


由于接下来会把博客更新的重心放到网络上来。想来想去,直接写Demo,讲解API似乎不是一个好的方式。网络涉及到的概念太多,我就挑几个我认为需要提前理解的概念来讲解下。然后,我会更新几篇IOS中网络编程的博客,关于NSURLSession以及IOS的一个很火的开源库AFNetworking。


一 REST的概念

REST(Representational State Transfer)含状态传输是一种软件架构风格。
要点

资源由URI(统一资源定位符)的来指定。
通过资源的表现形式来操作资源
对资源的操作包括获取、创建、修改和删除资源,对应HTTP协议提供的GET、POST、PUT 和DELETE方法
这里写图片描述
- 安全-指的是对原有资源没有任何影响
- 等幂-不管操作多少次对资源的影响都是一样的。

这里,再讲解下PUT和POST的区别


  1. 最大的区别是PUT是等幂的,也就是同一个操作,不管PUT多少次,都是一样的。而POST则不一样,POST多次会导致多个资源被创建。
  2. PUT需要完整的URI,而POST不需要。如果,URL不完整,PUT不会被执行。
    这里写图片描述


简单来说,REST就是对资源的操作都可以通过URI来完成,REST是基于资源的。


二 REST的要求

客户端和服务器的架构
链接协议的无状态(协议本身不记录链接的状态信息)
层次化的系统
可以利用Cache来提高性能

三 基于HTTP的REST简介

REST API不依赖于协议,但是几乎全部的REST都是基于HTTP协议的。因此,举例也就只举HTTP的例子。基于HTTP的REST API包括三部分:

1 资源的URI
2 资源的传输格式
3 对资源的操作(GET、POST、PUT,DELETE,OptionsHead方法)

HTTP的交互的过程是客户端发出一个请求,然后服务器返回一个请求。交互的过程中,处理传递的数据之外,也需要一些meta Data用来传递额外的信息(例如接受的数据格式,授权,证书等信息)。一个REST的HTTP请求如图

其中

  • VERB是HTTP的方法,例如GET POST DELETE等
  • URI指定资源的位置
  • HTTP
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值