一、软件开发架构
1.第一种——C/S架构
Client客户端<——————>Server服务端
-
我们平时下载的软件包,基本都是客户端软件
-
使用这个软件包就有一张令牌去进入店铺享受服务
-
服务端特征:
全天在线提供服务
地址一般不能变,得固定
能够承载多用户访问
-
优势:
客户端可以定制化
2.第二种——B/S架构
Browser<——————>Server服务端
- 无需下载客户端,可以借助浏览器访问店铺享受服务
- 编写时格式被浏览器框定
二、架构发展趋势
统一接口原则
微信 里面有很多小程序 可以直接体验其他服务
支付宝 里面有很多小程序 可以直接体验其他服务
cs和bs交错使用 取长补短避免各自的劣势!!! 可以方便用户
使用,在不用客户下载APP的情况下增加粘合度,也是大厂为了搞钱
三、网络编程介绍
1.如何理解网络编程
基于互联网编写代码 可以实现远程数据交互
2.网络编程的目的
网络编程的本质是为了解决计算机之间远程数据交互
3.网络编程的意义
学习完网络编程之后 就可以进行编写C/S架构软件
4.基础条件
远程数据交互必须有物理链接介质
四、OSI七层协议
所谓OSI——Open System Interconnection,即开放式系统互联
七层
物理层,数据链路层,传输层,网络层,会话层,表示层,应用层
常见的是整合的五层或者四层,应用层整合会话层,表示层
1.osi七层每层简介——物理层
物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输,一般是转成0/1
2.osi七层每层简介——数据链路层
规定电流脉冲信号捕获的分组方式(切分)怎么切不深究,太复杂了
定义好网络协议,俗称以太网地址/MAC地址(相当于身份证号——无法修改)包含物理编址、网络拓扑结构、错误校验、数据帧序列以及流控
3.osi七层每层简介——网络层
IP协议:规定接入互联网的计算机必须都有一个IP地址,相当于身份证————和MAC的差别是可以变动,IP地址可以跨局域网传输
IPV4:点分十进制
0.0.0.0
255.255.255.255 最大支持同时255*4次方用户
IPV6: 十六进制
数据可容量非常非常大,能代表地球上每一粒沙子
4.osi七层每层简介——传输层
PORT协议:端口协议
用来标识用户端上面的某一个程序,相当于指定超市前台寄存物品的手牌编号
范围:0-65535
建议:不要用0-1024,这是留给系统的
1024-8000,常见软件的端口号
自己写程序分配的时候推荐8000以后
URL:统一资源定位符——网址
网址本质是 IP+PORT端口号,能定位全世界独一无二的计算机上面的某一个应用程序
cmd 执行 ping www.baidu.com >>>> 180.101.49.14
域名解析:将网址解析成IP+PORT端口号
-
补充
交换机、广播(双方不知道对方mac地址)、单播(双方都有对方mac地址后)、广播风暴、局域网(其实交换机就是局域网)、广域网、互联网、路由器(能跨局域网做数据交互,不单单指小盒子)
五、各种重点协议
还没讲到
标签:OSI,架构,python,七层,编程,网络,osi From: https://www.cnblogs.com/wznn125ml/p/16892603.html