网络编程——————软件架构
c/s架构
c:client 客户端
s:server 服务端
"""
将客户端看成是去店里消费客人
将服务端看成是提供服务的店面
eg:收集各种app其实就是各大软件的客户端
服务端需要具备的三大特征
1.24小时不间断提供服务(24小时监听)
2.固定的地址(IP地址)
3.能够服务多个用户(高并发)
"""
b/s架构
b:browser 浏览器
s:server 服务器
"""
浏览器统一充当各个服务端的客户端
本质:bs架构本质上也是cs架构
"""
统一:各大互联网巨头正在做的事情
eg:
微信小程序(微信提供开发微信小程序的软件)
支付宝小程序(各大程序接口)
# 总结
网络编程学习完就可以开发cs架构的软件(简易版本)
并发编程、前端、数据库、后端框架就可以开发bs架构软件(任何类型的软件)
网络编程的前戏
网络编程其实研究的就是程序之间的数据通信
由来:
基于远程传输数据的技术最早诞生于美国军方(前沿技术通常都是由军事产生)
远程数据传输发展史(民用)
1.有线电话 电话线互联
2.无线电话 信号发射器
3.大屁股电脑 网线
4.笔记本电脑 网卡
...
"""
要想实现远程数据交互的前提是必须要有物理连接介质
"""
除了有物理连接介质之外还应该有一些能够保证数据彼此无障碍交互的东西(标准)
OSI七层协议
# 所有的计算机都必须要有这七层
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层# 开发层面可以归纳为五层
应用层
传输层
网络层
数据链路层
物理连接层
"""
从小往上研究1.物理连接层
提供一个物理连接接口(网线口 无线网卡)
2.数据链路层
1.规定了电信号的分组方式
2.以太网协议
规定了计算机必须有一块网卡 并且网卡上面要有一个固定的一串数字
12位16进制数
前六位:产商编号
后六位:流水线号
上述的数字也称之为计算机的mac地址(类似于身份证号)
"""
交换机:能够使接入该机器的所有计算机之间彼此互联
局域网:有交换机组成的网络
互联网:可以简单的理解为是多个局域网之间彼此互联
"""
基于mac地址的数据传输
1.广播风暴
2.mac地址不能跨局域网传输
"""
路由器:能够连接多个局域网并实现局域网之间的数据传输
IP协议:规定了接入互联网的计算机都必须有一个IP地址用于唯一标识
IPV4版本
最小 0.0.0.0
最大 255.255.255.255
IPV6版本
能够表示出地球上每一粒沙子
# IP地址能够唯一标识接入互联网的一台独一无二的计算机
公网IP与私网IP
公网IP需要花钱购买并申请
私网IP自带的但是无法直接基于互联网访问
"""
arp协议
将IP地址转换成mac地址(基于网络请
应用层
应用层的由来:用户使用的都是应用程序,均工作于应运层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
应用层的功能:规定应用程序的数据格式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南