软件开发架构
架构分类
1.什么是软件开发架构
编写项目时需要遵守的代码层面的规范(代码运行的流程、步骤)
eg:ATM三层架构 选课系统三层架构
2.软件开发架构
2.1c/s架构
c:client 客户端
s:server 服务端
'''
计算机上下载的软件本质上就是客户端
每个客户端可以使用其对应的服务端的功能
为了使用更多的功能我们就要下载更多的软件
eg: 下载淘宝可以使用淘宝的购物服务
下载爱奇艺可以使用爱奇艺的视频服务
'''
2.2b/s架构
b:broswer 浏览器
s:server 服务器
'''
b/s架构本质上也是c/s架构
通过浏览器来代替客户端,这样就不需要下载字典的客户端
'''
3.架构优劣势
3.1c/s架构
优势:客户端的软件可以高度定制相关服务
劣势:必须下载使用,使用不同的服务还要下载不同的客户端
3.2b/s架构
优势:不需要下载,方便快捷
劣势:定制服务的功能比较繁琐
架构发展趋势
'''
发展趋势:统一接口原则
如微信、支付宝里面有很多小程序,可以直接通过小程序使用不同的功能
后续就是cs和bs交错使用,避免各自的优劣势
'''
网络编程
网络编程简介
1.如何理解网络编程
网络编程就是基于互联网编写代码、程序可以实现远距离数据交互
2.网络编程的目的
网络编程是为了解决计算机之间远距离数据交互
3.网络编程的意义
学习网络编程后,就可以编写一个c/s架构的软件
4.网络编程的起源
网络编程由美国军方开发,在还没有网络编程的时候计算机的数据交互只能依靠硬盘
5.网络编程的要求
5.1早期电话
必须要有电话线
5.2大屁股电脑
必须要有网线
5.3笔记本电脑
必须有有网卡
'计算机之间进行远距离数据交互的条件就是要有物理连接介质'
OSI七层协议
1.OSI七层协议就是规定计算机涉及到数据交互的时候,必须要经过的部件(流程)
2.
应用层
表示层
会话层
传输层
网络层
数据连接层
物理连接层
'这七层也可以合并成五层'
应用层
传输层
网络层
数据链路层
物理连接层
'还能继续合并成四层'
应用层
传输层
网络层
网络接口层
'''
数据发送出去的时候 是从上往下走
数据接收回来的时候 是从下往上走
'''
各层特征01
1.物理连接层
保证物理连接介质的条件 传递电信号,主要研究插网线情况
2.数据连接层
2.1规定了电信号的分组方式
2.2规定了每台计算机都必须有一块网卡
网卡上有一串记录>>>电脑的以太网地址 mac地址
以太网地址\mac地址:由12位16进制数组成的
前6位:产商编号
后6位:生产流水线号
2.3可以根据mac地址查找计算机
各层特征02
3.网络层
IP协议:任何接入的计算机都必须有一个IP地址
IP地址:
IPV:点分十进制
最小:0.0.0.0
最大:255.255.255.255
随着入网人数的不断增加,这种地址不够用了
ipv6:
够给地球上的每一粒沙分一个IP地址
IP特性:每个IP都自带定位
4.传输层
PORT协议
端口协议:每台计算机上的每一个正在运行的应用程序都有一个端口号,端口号相当于是计算机用来管理多个应用程序的标记
端口号特征:
4.1端口号范围:0-65535
4.2端口号是动态分配的
4.3同一时间同一台计算机端口号不能冲突
4.4
0-1024:一般是操作系统内部需要使用的
1024-8000:一般是常见的软件已经使用了
8000+:我们平时写代码可以使用8000之后的端口号
'''
IP+PORT
IP:用于标识世界上一台接入互联网的计算机
PORT:用于标识计算机上的某个应用程序
IP+PORT:用于标识世界上一台接入互联网的计算机上的某一个具体的应用程序
'''
4.5什么是网址
网址(URL):统一资源定位符
4.6url的本质
其实就是IP+PORT(ip:port)
www.baidu.com 124.12.11.232
网络相关名词
1.交换机
能让接入的多台计算机实现彼此互联
2.以太通讯(mac通讯)
原理:通过交换机在根据电脑的mac地址就可以实现数据交互
缺陷:mac地址通讯仅限局域网,接入设备过多时可能会造成广播风暴
3.局域网
有某个固定区域组成的网络
广域网可以看成是更大区域的局域网
4.路由器
将多个局域网连接到一起的设备