有三个核心:资源(resource),URL(统一资源标识符)和表示
他们的关系是这样的:一个资源由一个URL进行标识,HTTP客户端使用URL定位资源,表示是从资源返回数据,媒体类型是资源返回的数据格式。
接下来我们说下HTTP.
HTTP协议的系统是一种无状态的方式,使用请求/响应模式进行信息交换,HTTP客户端生成一个HTTP请求,这个请求是一个消息,包含了HTTP版本,一个访问资源的URL,请求标头,和一个HTTP方法。
服务器完成消息处理之后,生成一个HTTP响应,
HTTP信息交换过程虽然精准,但是还需要有中间层。中间层有什么呢?是一些代理或组件。他的作用我的理解是检查HTTP请求和响应。可以进行修改和替换,一个中间层可以立刻返回一个响应,例如:缓存可以通过返回来自服务器的缓存结果来缩短响应时间;
中间层可以存在HTTP请求从客户端到源服务器经过的任何地方。
参与HTTP消息交换并对客户端可见的中间层有三种。
代理,网关,隧道。这里不做过多介绍
HTTP方法:GET,HEAD,POST,PUT,DELETE,OPTIONS,PATCH,TRACE.
标头:HTTP消息的标头(header)字段为客户端和服务器提供信息,用于处理这个HTTP请求。标头有四种类型:消息,请求,响应和表示。
我这里附上几张图片,
简单介绍We和HTTP。说下WeAPI。
WebApi是一个编程接口,用于操作可通过标准HTTP方法和标头访问的系统。WebApi可供各种HTTP客户端使用。
WebAPI特点是什么呢?
- 可以支持多种客户端使用,
- 支持标准的HTTP方法。
- 支持浏览器友好的格式。
- 支持浏览器友好的认证方式。
API风格
API风格有很多种。这里我们介绍下常用的REST。
REST 即表述性状态转移。所有的REST风格的系统都受到一系列的约束。
- 客户端-服务器无关,独立进行演化
- 无状态,所有的应用系统状态都保存在客户端。并在请求中传送给服务器,
- 缓存,降低服务器的负载,并且提高了用户体验的性能。
- 统一接口。
- 自描述的信息,包含客户端和服务端交交互的所有信息,URL,HTTP方法,标头,媒体信息。
- 通过表示对资源执行的操作
- 作为应用状态引擎的超媒体
- 分层系统