今日内容回顾
软件开发架构
简介
软件开发架构指在编写项目之前需要遵循的代码层面上的规范(代码运行的流程、环节、步骤)
c/s架构
c:client 客户端
s:server 服务端
计算机上下载的各个互联网公司的app软件,本质其实就是客户端
下载一个个客户端的目的就是为了体验其对应服务端的服务
列如:下载淘宝就是为了体验淘宝服务端提供的购物服务
客户端可以看成是即将取消费的客人,服务端可以看成是给你提供服务的店铺。
服务端所具备的特性,固定的地址、可以同时服务很多人、24小时不间断提供服务
b/s架构
b : broswer 浏览器
s :server 服务器
b/s架构其本质也是c/s架构,这种架构方式是通过浏览器来充当各个服务端的客户端
用于想要体验服务不需要下载指定的客户端。
架构的优势与劣势
c/s架构
优势:下载对应的客户端,可以在客户端软件内高度定制相关服务
劣势:使用必须先下载客户端,比较繁琐
b/s架构
优势:不需要下载客户端,能够快速的体验服务
劣势:定制其他特殊功能较为繁琐
发展趋势
统一接口原则,如:微信、支付宝、等...
其内部有很多小程序,可以直接体验服务。
后续就是c/s架构和b/s架构的交错使用,避免各自的劣势,方便用户使用 也方便自己。
网络编程简介
-
如何理解网络编程
网络编程是基于互联网编写代码,程序可以实现远程数据交互。
-
网络编程的目的
网路编程的本质就是为了解决计算机之间远程数据交互的问题
-
网络编程的意义
学习网络编程之后,我们基于可以编写一个c/s架构的软件
-
网络编程的起源
任何先进的计数一般都是来源于军事,网络编程来源于美国军方开发
在没有网络编程的时候,如果俩台计算机之间要交互数据,只能使用拷贝硬盘的方式传递给另外一个人,这样非常不方便。
-
网络编程的要求
早期的时候是使用有线电话,必须要连接电话线
后来是那种大屁股电脑,必须要有网线
到现在的笔记本电脑,必须要有网卡
计算机之间要想实现远程数据交互传输,首要条件就是要有物理链接介质将其链接及互联网通信协议。
OSI七层协议
OSI七层协议指的是在计算机涉及到数据远程交互的时候,设定数据交互的规范让其按照什么方式去进行交互将其定义为OSI七层协议。
-
OSI七层协议总共分为七层
应用层、表示层、会话层、传输层、网络层、数据链路层、物理链接层。
-
针对上述的七层我们也可以将其合并为五层
应用层、传输层、网络层、数据链路层、物理链接层
-
还可以更加优化成四层
应用层、传输层、网络层、网络接口层
其中顺序很重要,每一层都有各自的功能和规范。
各层的特征
数据发送出去的时候,从应用层到物理链接层
数据接收回来的时候,从物理链接层到应用层
我们从物理链接层到应用层的顺序研究。
物理链接层
保证物理链接介质的条件,传递电信号(主要研究插网线情况)
数据链路层
-
规定了电信号的分组方式
-
规定了每台计算机必须都有一块网卡
网卡必须有一串记录:电脑的以太网地址(身份证)mac地址
以太网\mac地址:由12位16进制数组成的
前6位:产商编号
后6位:生产流水编号
mac地址相当于电脑的身份证号,也就意味着可以根据该地址查找计算机(可基于mac地址实现数据交互)
网络相关名词简介
-
交换机
交换机是一种能够让接入交换机的多台计算机实现彼此互联的一种设备
-
以太网通信/mac通信
有了交换机之后,根据服务器的mac地址就可以实现数据交互
在交互数据的过程中,开始是广播,相当于在找人一样正在人群中吼
后面是单播,相当于找的这个人听到有人叫他就顺着找过来了。
广播:先在交换机中吼,所有接入交换机的设备都可以收到
单播:只有被查找的设备,才会回复相应的信息。
缺陷:mac地址通信仅限于局域网,接入交换机的设备过多,可能会造成广播风暴,就是类似于所有人同时吼。 -
局域网、广域网
局域网指的是在某个固定区域组成的网络,广域网可以看成是更大区域的局域网。
-
路由器
路由器是一种将多个局域网链接到一起的一种设备。
网络层
-
IP协议
规定了任何接入互联网的计算机都必须有一个IP地址(类似于护照)
-
IP地址
IPV4:点分十进制
最小: 0.0.0.0 最大: 255.255.255.255
也就意味着同时可提供最大IP地址为4228250625个,但随着社会的发展
同时能够上网的人越来越多,上述的地址数量不够分后续就出现了IPV6
-
IPV6
据说能够给地球上每一粒沙子分一个IP地址
-
IP特征
每个IP都自带定位,列如:IP代理
传输层
-
PORT协议
也就是端口协议,规定了一台计算机上的每一个正在运行的应用程序都必须有一个端口号,端口号相当于计算机用来管理应用程序的标记或者说编号。
-
端口号特征
端口号范围:0-65535
端口号是动态分配的,同一时间同一台的计算机端口号不能冲突。
-
端口号的分配
0-1024: 一般是操作系统内部需要使用的
1024-8000:一般是常见软件已经使用了
8000-65535:我们平时写代码可以使用8000之后的端口号
-
IP+PORT协议
IP用于标识全世界任意一台接入互联网的计算机
PORT用于标识一台计算机上的某个应用程序
IP+PORT那么它俩的组合也就是用于标识全世界任意一台接入互联网的计算机上的某一个具体的程序。
-
网址简介
网址(URL):统一资源定位符
URL的本质其实就是IP+PORT,也就是(IP:PORT)
一般常用的网址如百度www.baidu.com其对应的就是百度的IP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?