**只针对于python学习的笼统性知识**
软件开发架构
cs架构
c: client 客户端
s: server 服务端
下载的app,本质就是客户端,目的是为了体验对应服务端的服务
bs架构
b: broswer 浏览器
s: server 服务器
bs架构本质也是cs架构
本质是通过浏览器体验服务端的服务
架构发展趋势
- 发展趋势
- cs架构与bs架构交错使用可以避免各自的劣势(方便用户使用)
网络编程
- 网络编程的理解
- 网络编程的目的
- 网络编程的意义
- 网络编程的起源
- 起源于美国军方(一般先进的技术都来源于军事)
- 没有网络编程前,需要使用U盘来回跑
- 网络编程的要求
- 计算机之间实现远程数据交互,首要的条件就是要有物理连接介质
OSI七层协议
1.应用层
2.表示层
3.会话层
4.传输层
5.网络层
6.数据链路层
7.物理连接层
精简后的五层:
1.应用层
2.传输层
3.网络层
4.数据链路层
5.物理连接层
OSI各层特征
- 数据发送出去的时候是从上往下走的
- 数据接收回来的时候是从下往上走的
1.物理连接层
保证物理连接介质的条件,传递电信号(研究插网线的情况)
2.数据链路层
规定了电信号的分组方式
规定了每台计算机必须都要有一张网卡
电脑上的以太网地址(mac地址)由12位16进制数组成,相当于电脑的身份证号(可以基于mac地址实现数据交互)
前六位是厂商编号,后六位是生产流水线号
3.网络层
IP协议:规定了任何接入互联网的计算机都必须有一个IP地址
IP地址:
IPV4: 点分十进制
最小: 0.0.0.0 最大: 255.255.255.255
随着社会的发展 同时能够上网的人越来越多 上述地址不够分
IPV6: 能够给地球上每一粒沙分一个IP地址
IP特征:每个IP都自带定位
4.传输层
PORT协议
端口协议:
规定了一台计算机上的每一个正在运行的应用程序都必须有一个端口号,端口号相当于是计算机用来管理多个应用程序的标记
端口号特征
1.端口号范围:0-65535
2.端口号是动态分配的
3.同一时间同一台计算机端口号不能冲突
4.
0-1024 一般是操作系统内部需要使用的
1024-8000 一般是常见的软件已经使用了
8000+ 我们平时写代码可以使用8000之后的端口号
IP+PORT
IP 用于标识全世界任意一台接入互联网的计算机
PORT 用于标识一台计算机上的某个应用程序
IP+PORT 用于标识全世界任意一台接入互联网的计算机上的某一个具体的程序
1.什么是网址
网址(URL):统一资源定位符
2.url的本质
其实就是IP+PORT(ip:port)
TCP协议与UDP协议
他们规定了数据传输所遵守的规则,是较为常见的两个数据传输协议
TCP协议:
三次握手: 建立了双向通道 中间接收请求就会反向建立通道,可以合并为一步
四次挥手: 断开了双向通道 中间两步不能合并,检查需要时间
洪水攻击:同时让大量客户端朝服务端发送建立TCP连接的请求
基于TCP传输数据非常的安全因为有双向通道。
有二次确认机制,每次都需要返回确认信息,否则会在一定时间内反复发送
UDP协议:
基于UDP协议发送数据,没有任何通道也没有任何的限制。
数据没有二次确认机制,所以没有TCP安全,可以没有回复
5.应用层(取决于程序员用什么)
常见的协议有HTTP,HTTPS,FTP......
- 三次握手

- 四次挥手

网络相关名词
-
- 交换机
-
- 以太网通信
- 原理
- 缺陷
- mac地址通信仅限于局域网
- 接入的交换机设备过多,会出现问题
类似于所有人同时吼!!!
-
- 局域网
- 由某个固定区域组成的网络
- 广域网一般就是更大区域的局域网
-
- 路由器
域名解析与DNS服务器
- 把域名指向网站空间ip,通过域名更方便访问网站的一种服务
域名解析: 域名到IP地址的转换过程,解析工作由DNS服务器完成
域名来代替IP地址标识站点地址,在此IP地址的主机上将一个子目录与域名绑定
DNS: 进行域名与之相对应的IP地址转换的服务器
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。
"""互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。"""