15 | 可编程的互联网世界
该思维导图由 AI 生成,仅供参考
网络应用程序的全视图
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了互联网世界的可编程性,重点关注网络应用程序的全视图分析。从物理层到应用平台层,文章详细介绍了网络世界的子系统划分和各层的功能。物理层定义了硬件层次的基础网络协议,数据链路层解决局部网络数据传输能力,IP网络层实现互联网世界的一体化,TCP/UDP传输层解决互联网通讯可信赖的问题,应用平台层则支持各种应用层协议。作者强调了IP网络作为互联网“操作系统”的核心地位,以及HTTP协议和SMTP/POP3协议在应用层的重要性。此外,文章还提到了存储和数据库对网络应用程序的重要性,以及架构师在选择网络协议时需要做出的决策。通过对互联网世界的分层结构和各层功能的介绍,文章展现了互联网世界的可编程性和复杂性,为读者提供了对互联网架构的深入理解。文章还介绍了基于TCP/IP和HTTP协议的编程接口,以及它们在网络应用程序开发中的应用。通过对比,展示了基于成熟的应用层协议的优势,为读者提供了全面的应用程序概览。
《许式伟的架构课》,新⼈⾸单¥68
全部留言(39)
- 最新
- 精选
- 一笔一画老师,请教一下,我可否这样认为,越往上层的协议其效率越低,到HTTP这样高阶的协议,它的性能会不会是一个瓶颈?
作者回复: 不能这么看,是做的事情越来越多。HTTP协议首先是TCP协议的,只不过干了更多的业务,如果不用HTTP,并不代表你可以节约这块的成本,只不过换成你自己写的而已
2019-06-0519 - PeielNginx 可以用作应用层网关,那么应用层网关怎么理解?可以理解成我们通常在 Nginx 中对 HTTP 请求根据不同的api做相关的反向代理、负载均衡等相关配置,也就是所谓的api网关?
作者回复: 嗯
2019-06-0529 - X你好老师,网关这个词一开始是在传输层接触到的,路由器起到的就是网关的作用,本质上是一个关口,数据包通过关口之后去寻找自己的目的地。现在谈的应用层的网关,是不是就是HTTP的请求的关口,根据不同的URL映射到不同的服务端接口,可以把负载均衡器理解为应用层的网关吗?
作者回复: 是的
2019-06-0726 - 1900对象存储作为目前新颖的一种存储类型,它相对于传统网络存储类型的优势在哪里呢?另外它也有什么不足或者局限么?
作者回复: 后面服务端开发会讨论这个问题。最大的区别其实不是协议的选择,而是编程模型的改变。传统网络存储延续了本地文件系统的习惯,基本上都是filesystem的树状元数据组织方式,对象存储是key-value这种平面结构。
2019-06-056 - s许老师,我是一个黑客情结很重的人,我对黑客的看法和大部分人都不同,多数人认为黑客就是做安全研究的,可我觉得不是这样的,我心中的黑客是创造计算机的一切。你想,假设计算机协议,编程语言,系统等等你都能驾轻就熟,安全那不就是手到擒来。看了你讲的计算机架构设计,我更是感觉这种思想正是我想要的。可周围人都说让我不要白日做梦,好好写好业务代码就行,别想其他的。我很迷茫,岁数也不小26了,可这是我的梦想,我该坚持吗?想听听您的意见
作者回复: 是不是自己的兴趣要看自己的行动。行动不会说谎。
2019-08-2125 - 斯图尔特许老师,有个问题。对外使用restful api,如果对内部使用也是这种协议,会造成内部大量的http调用,如果是内部系统,是不是使用grpc更合适?
作者回复: grpc也是http啊
2019-06-2723 - 马哲富许老师好! "由于TCP基于连接,所以每Accept一个连接后,我们可以有一个独立的执行体去处理它;但是UDP是无连接的,需要我们手工根据来源IP+Port来判断如何分派",是否可以理解为基于TCP的协议,服务端每接收一个数据包就处理一个,而基于UDP的协议,服务端接收到数据包之后是先分派后处理?而这个分派的条件是IP+Port,1.为啥要分派?2.为啥是根据IP+Port来分派?
作者回复: 服务器是同时服务很多客户的,不同客户的请求无关,一个客户是通过请求包的来源ip+port来区分。
2019-06-0523 - Hui老师你好,现代软件逐渐云端化,TCP能否满足云环境更高带宽,更低的延迟的需要,是否有更好的协议?
作者回复: 这块会有人努力去改善,比如http3据说就已经不是http over tcp了
2019-06-092 - 虎哥相对应地,在 HTTP 协议中以 “资源路径” 表达资源,以 PUT-POST-GET-DELETE 表达 CURD 操作(也有一些服务以 POST 而不是用 PUT 请求来创建资源)。这段写错了吧,post 是 C put 是U吧
作者回复: 不同人用的惯例不一样,从实际我看到的api案例看,put用的比较少
2019-06-052 - 1900“如果我们限定传输的数据包一定是某种应用层协议时,就会出现所谓的应用层网关”,这句话很费解,为什么“传输的数据包”会是“某种应用层协议”?数据包和协议是两个东西吧?
作者回复: 协议只是数据格式而已
2019-06-052