软件开发架构
| 规定了程序的请求逻辑、功能分块 |
| |
| 1.C/S架构 |
| Client:客户端 |
| Server:服务端 |
| """ |
| 我们使用计算机下载下来的一个app本质是各大互联网公司的客户端软件 |
| 通过这些客户端软件我们就可以体验到各个互联网公司给我们提供的服务 |
| """ |
| |
| Ex: |
| 下载淘宝客户端 打开 体验淘宝服务端提供的购物服务 |
| 下载抖音客户端 打开 体验抖音服务端提供的视频服务 |
| '''ps:一般情况下客户端与服务端交互需要互联网 但是有些不需要(因为客户端和服务端都在一台计算机上)'''(类似单机游戏) |
| |
| 客户端:即将要去消费的客人 |
| 服务端:给客人提供服务的店 |
| |
| 作为服务端必备的多个条件 |
| 1.24小时不间断提供服务 |
| 2.固定的地址 |
| 3.能够服务多个客户(高并发) |
| |
| |
| 2.B/S架构 |
| Browser:浏览器 |
| Server:服务器/端 |
| """ |
| 浏览器可以充当所有服务端的客户端 |
| |
| ps:B/S架构本质还是C/S架构 |
| """ |
| |
| """ |
| C/S架构 |
| 优势:不同公司的客户端由不同公司独立开发可以高度定制化客户端功能 |
| 劣势:需要下载才能使用 |
| B/S架构 |
| 优势:不用下载直接访问 |
| 劣势:无法高度定制化 并且需要遵守很多规则 |
| """ |
架构总结
| ATM:三层架构 |
| 选课系统:三层架构 |
| 本质也属于软件开发架构的范畴 |
| |
| 软件设计大方向>>>:统一接口 |
| 微信小程序 |
| 支付宝小程序 |
网络编程前戏
| 1.什么是网络编程 |
| 基于网络编写代码 能够实现数据的远程交互 |
| 2.学习网络编程的目的 |
| 能够开发cs架构的软件 |
| 3.网络编程的起源 |
| """ |
| 最早起源于于美国军事领域 |
| 想实现计算机之间数据的交互 |
| 最早的时候只能用硬盘拷贝 |
| 之后发明了网络编程 |
| |
| """ |
| 4.网络编程必备条件 |
| 数据的远程条件 |
| 1.早期的电话 |
| 电话线 |
| 2.早期的大屁股电脑 |
| 网线 |
| 3.笔记本电脑、移动电话 |
| 网卡 |
| ps:实现数据的远程交互必备的基础条件是物理连接介质 |
OSI七层协议简介
| """ |
| OSI七层协议:规定了所有的计算机在远程数据交互的时候必须经过相同的处理流程、在制造过程中必须拥有相同的功能硬件 |
| """ |
| 应用层 |
| 表示层 |
| 会话层 |
| 传输层 |
| 网络层 |
| 数据链路层 |
| 物理连接层 |
| ps:应、表、会、传、网、数、物 |
| |
| '''常见的是整合之后五层或者四层''' |
| 应用层 |
| 传输层 |
| 网络层 |
| 数据链路层 |
| 物理连接层 |
| |
| 应用层 |
| 传输层 |
| 网络层 |
| 网络接口层 |
| |
| """ |
| 接收网络消息 数据由下网上传递 |
| 发送网络消息 数据由上往下传递 |
| """ |
osl七层协议之物理连接层
| 1.规定了电信号的分组方式 |
| 2.以太网协议 |
| 规定了计算机在出场的时候都必须有一块网卡,网卡上有一串数字 |
| 该数字相当于是计算机的身份证好吗是独一无二的 |
| 该数字的特征:12位16进制数据 |
| 前6位产商编号 后6位流水线号 |
| 该数字也称之为:以太网地址/MAC地址 |
网络相关专业名词
| 计算机之间想要实现数据相互必须要'连接'到一起 |
| |
| 1.交换机 |
| 能够将所有接入计算机的交换及彼此相互联起来 |
| 2.广播 |
| 首次查找接入同一个交换机的其他计算机 需要朝交换机里面吼一嗓子 |
| 3.单播 |
| 首次被查找的计算机回应查找他的计算器 并且附带自己的mac地址 |
| 4.广播风暴 |
| 接入同一台交换机的多台计算机同时发广播 |
| 5.局域网 |
| 可以简单的理解为有单个交换机组成的网络 |
| 在局域网内可以直接使用mac地址通信 |
| 6.广域网 |
| 可以简单的理解为范围更大的局域网 |
| 7.互联网 |
| 由所有的局域网、广域网连接到一起形成的网络 |
| 8.路由器 |
| 不同的局域网计算机之间是无法直接实现数据交互的,需要路由器连接 |
OSl七层协议之网络层
| IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号 |
| mac地址是物理地址可以堪称永远无法修改 |
| ip地址是动态分配的 不同的场所ip是不同的 |
| IP地址特征: |
| IPV4:点分十进制 |
| 0.0.0.0 |
| 255.255.255.255 |
| IPV6:能够给地球上每一粒沙分一个IP地址 |
| IP地址可以跨局域网传输 |
| ps:IP地址可以用来标识全世界独一无二的一台计算机 |
OSI七层协议之传输层
| PORT协议(端口协议) |
| 用来标识一台计算机上面的某一个应用程序 |
| 范围:0-65535 |
| 特征:动态分配(洗浴中心号码牌) |
| 建议: |
| 0-1024 系统默认需要使用 |
| 1024-8000 常见软件的端口号 |
| 8000之后的 |
| URL:统一资源定位符(网址) |
| 网址本质是有IP和PORT组成的!!! |
| |
| IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序 |
| |
| |
| 域名解析:将网址解析成IP+PORT |
| |
| |
| 我们之所以不直接使用IP+PORT的原因是太难记 所以发明了域名(网址) |
| |
| IP:PORT 实际使用冒号连接 |
| 114.55.205.139:80 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构