概述
目录
网络协议
TCP和UDP协议的区别
Restful软件架构风格
RPC协议
网络协议
7层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/IP四层模型:数据链路层、网络层、传输层、应用层。
数据链路层协议:以太网协议
网络层协议:IP、ARP、RARMP、ICMP、ICMP、IGMP
传输层:TCP、UDP
应用层:HTTP、FTP(文件传输协议)、DNS(域名解释)、TELNET(远程终端协议)、STMP(发邮件协议)、POP3(收邮件协议)
具体如下图所示
生活中上网的例子做个介绍
手机wifi通过路由器连接到小区的交换机路由器一层一层往上连,最后到达骨干网,骨干网通过跨地域传输,会传输到很多地方,例如邮件服务器,网站服务器、文件系统服务器,通过不同路由到达目标服务,目标服务器有高可用架构进行分流,分流到某个服务器上去,获取到服务最后原路返回。这就是我们平常使用网站,使用互联网服务整体数据的一个流向。
手机流量上网,其实也是类似的,不过走的是另外一种路由。
对于不同服务,对应着不同协议
FTP、HTTP、SMTP、POP3:使用的是HTTP协议
TFTP:使用的是UDP协议
DNS:HTTP和UDP协议都使用
TCP和UDP协议的区别
TCP:面向连接、可靠传输(需要确认,错误重传)、基于报文、拥堵控制,适用可靠性高的场景。
UDP:非连接、不可靠、基于字节流,实现简单,适用于实时性高的场景,比如语音传输、视频传输
Restful软件架构风格
借助HTTP协议的基本请求方法代表资源的状态切换
post:新增或者更新
get:获取资源
put:更新资源
delete:删除资源
下面以github的rest API文档为例
接口的开发,基本都是遵循类似的restful软件架构风格规范
RPC协议
RPC协议的全称:remote procedure call 以本地代码调用的方法实现远程执行。
例如:我们用的终端ssh操控远程服务器
只需要关注调API就可以了,不需要关心中间采用了什么样的协议传输通信。
阿里的Dubbo:java上的高性能RPC框架,Apache开源项目
谷歌的gRPC:高性能RPC框架
Facebook的Thrift:多语言RPC框架
最后
以上就是无心大叔为你收集整理的常见接口协议解释的全部内容,希望文章能够帮你解决常见接口协议解释所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复