什么是接口?
接口定义:接口(API)- Application Programming Interface 应用程序接口,是软件系统不同组成部分间衔接的约定。
接口的功能
在多个计算机系统之间保证彼此通信
- 常见使用场景:从各个用户界面(UI)获取信息,在数据库层上执行计算和事务,然后将结果呈现回用户界面。
分层架构的计算机系统
接口分类
- 按协议分:http、Socket、RPC(dubbo)等不同协议接口
- 按功能分:增删改查
- 按连接的两个部分的关系分:
- 内部
- 外部
- 第三方
接口设计风格
REST:Representational State Transfer 表现层状态转移,是分布式超媒体系统设计的一种架构风格,而不是标准。
- 资源是由URI来指定
- 对资源的操作包括创建、删除、修改、获取,对应HTTP协议提供的POST(增)、DELETE(删)、PUT(改)、GET(查)方法
- 通过操作资源的表现形式来操作资源
RESTful:满足REST架构约束条件和原则的应用程序或设计
RESTful API:包括URL、HTTP方法、状态码、请求格式、返回格式、错误处理等
- URL:URL是资源的唯一标识符,每个URL代表一个资源的表现,最好用名词复数,多单词用"/"分割,版本号也可放入URL中,url所有字符全部小写。
- URL格式:协议:// 域名 / [项目名称] / [api] / v1 / uri
- 协议:http/https
- 域名:如 www.baidu.com
- api:若有api表示对外开放,若无api则表示对内接口api
- 举例: 获取课组{uid}的课程资源的接口api
- GET http://server.seewoedu.com/api/v1/course/groups/{uid}/courses
HTTP请求方法在RESTful API中的典型应用
什么是HTTP
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。是用于从WWW服务器传输超文本到本地浏览器的传输协议。
HTTP是唯一与REST相关的实例。
- 协议:计算机双方必须共同遵守的一种约定。只有遵守这个约定,计算机之间才能相互通信交流。即一种沟通双方都能听得懂的编解码方式。
- 超文本:即超级文本,用超链接的方式,将各种不同空间的文字信息组织在一起的网状文本
- http/0.9:仅用于传输HTML文档
- http/1.0-1.1:图片、PPT、视频等各种文档、一些特定格式的字符串:如json。
- 传输:通过在客户端-服务器端之间转移代表资源当前状态的资源表述,来对服务器端的资源执行某种操作。
接口分类 - HTTP请求方法分类
HTTP - GET和POST的区别
HTTP之Request
request由什么组成?
请求行、请求头、请求数据
1. 请求行
URL组成:
2. 请求头部
- cookie
- 作用:利用cookie信息来标识用户
- 种类:非持久cookie和持久cookie
- 属性
- Domain:域,表示当前cookie属于哪个域或子域下
- Path:cookie的所属路径
- Expire time / Max-age: cookie的有效期
- secure:该cookie只适用于https传输
- httponly:该cookie必须用于http或https传输
3. 请求数据
POST请求有哪些格式(Content-Type)?
HTTP之Response
1. 状态码