一、Web架构
1.1 前后端混合架构(前后端不分离)
先看看请求-响应过程,在收到浏览器的请求时:
-
服务端将HTML代码与数据、静态资源等在服务端拼接好,一次性将所有内容返回给浏览器;
-
浏览器只需要将内容呈现给用户即可。
开发过程中:等前端开发好HTML页面后,后端开发者就需要对页面的部分内容进行修改,将动态内容放进去,以便后续请求到来时进行渲染及返回。
1.2 前后端分离架构
前后端分离是目前热门的开发方式,大部分互联网都会采用前后端分离的方式开发!
同样先看请求-响应过程,在收到浏览器的请求时:
-
服务端只将HTML和JavaScript代码返回;
-
然后浏览器执行js代码,按照事先约定好的API,由Ajax发送请求,以获取所需要的数据或静态资源;
-
服务端收到Ajax请求,计算后返回请求的数据,或者返回静态资源的地址。这些一般都是以JSON格式返回;
-
浏览器收到JSON数据,由Ajax按照JSON中的地址获取静态资源后,渲染数据并展现给客户。
开发过程中:前端只需要独立编写浏览器代码,后端也只需要对前端提供统一的API即可,不用再处理HTML页面。
二、API(Application Programming Interface,应用程序编程接口)
API是指某个应用程序封装好的一些函数,是提供给其他应用程序或开发人员使用的。通过API,可以方便的使用的本应用程序的功能,而无需了解本应用程序的内部源码。
Web API是API中的一类,它的功能与广义上的API是一样的,只是它提供给外界的是一些url规则而非函数,包括下面4个部分:
- url:url链接;
- 请求方式:get、post、patch、delete等;
- 请求参数:json或xml格式的key-value类型数据;
- 响应结果:json或xml格式的key-value类型数据。
三、RESTful接口规范
REST是REpresentational State Transfer(表述性状态转移)的首字母缩写。它是分布式超媒体系统的架构风格,最初由Roy Fielding在2000年的论文中提出。
什么是RESTful:
REST-ful,其中ful代表形容词,如helpful、powerful。这类形容词意为"full of,having the quality of"。多加在名词之后表示“充满…的、易于…、可…的、富有…的、具有…的”的意思,是最常用的形容词后缀,反义词后缀是-less。