一个服务端接口的一生

370 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情


一个服务端接口的一生

这篇文章说一下身为一个后端人员要知道的常识性东西。写接口的人不只是会写接口,也要知道它从哪来的,又是怎么没的。。。。。。

外貌

人有五官四肢,一个接口同样有它的特征。看起来就这样 👉https://message.bi***li.com/api/tooltip/query下面就来分解分解

协议

前面的https就是这个接口所使用的的网络协议,类似的还有httpwswss等,也有一些会使用自建的协议

域名

后面的就是域名:message.bi***li.com,域名也就是一个网站名字,看到的是有三部分,messagebilibilicom,我们来从后往前说

  • com 这是一个[顶级域名],类似还有如:cnnetorg
  • bilibili 这是一个二级域名,也是一个域名中最具识别性的名字
  • message 三级域名,这个是在一个域名最前面的,但不是必须的,常见的如:www,就像兄弟姐妹一样

上面说了三个组成部分,其中三级域名是可选的也就是可以自定义的,所有在购买时真正的域名其实是二级域名加顶级域名,也就是bilibili.com,就像一个人的不同身份一样,可以是老师、学生、运动员、程序员等不同的身份,但都是他自己

路径

顶级域名后跟着的就是路径:/api/tooltip/query,写代码时最直观的就是这个了,一个路径往往代表着一个功能,可以是一个动作,也可以是一个资源

内涵

一个人有看得见的外貌,也同样有看不见的内涵。接口也是一样,看得见的只有一串地址,看不见的还有。。。。

请求方法

  • GET 请求。通常用来资源

  • POST 请求。通常来创建

  • PUT 请求。通常来更新

  • DELETE 请求。通常来删除

  • ......

    还有一些其他的请求方法,详见HTTP 请求方法

请求头

猜我为啥不写?

响应头

猜我为啥不写?

状态码

猜我为啥不写?

不想猜?

这是为了锻炼大家的学习能力,可以自行查找资料学习内容。 (好吧,其实就是不想复制了,自己去网上搜吧:"常用http消息头/状态码")

人生

人心皆散乱,一念便纯真。

DNS

上面说到了域名这里就来网下说说DNS这俩有啥关系呢,因为这玩意儿全称就叫做 “域名解析系统”,就是把一个域名翻译成IP地址的,众所周知网络中定位一个程序就是根据“IP+端口号”,所以有了它就能使用域名来代替IP了

  • A 记录 也称地址记录用于指定与主机名(或域名)相对应的IP地址记录
  • CNAME记录 把一个域名指向另一个域名
  • ......

反向代理

众所周知~~(不知道也没关系,就当你们知道了)~~,定位一个程序是通过IP+端口号,根据前面可以得知,ip可以通过域名解析的方式转换成域名,所以就变成了,域名加端口号,但这样依旧很不方便,既不方便记忆,也不安全,所以它来了。主要作用就俩:

  • 为了安全。不暴露真实的信息,比如端口
  • 方便记忆。把ip+端口的方式,反向代理成域名+默认端口的方式

服务端程序

有接口,当然有程序,也就是写代码的地方。就是出来这个接口的地方

  • 接到请求,可以是请求也可以是资源,一个意思
  • 有请求中间件就走请求中间件
  • 处理请求,并返回响应
  • 有响应中间件就走响应中间件

CDN

好了,有了上面的这些东西,其实也够了,完成的流程就那么走完了,就像人的一生一样,也该结束了。但也像人的一生一样,轨迹总有那么一些不同。

  • 为了安全,防止知道真实的IP地址。获得更久
  • 为了速度,要走遍世界的每个角落。活的精彩

结束了

上面就是一个接口的一生,也是一个浅薄的理解,点到为止那种。本想把这一生描述的更加精彩,但还是草草了事。因为他们的一生会因你而更精彩