软件开发架构

168 阅读4分钟

软件开发架构

什么是软件开发架构?
    在编写项目的时候需要遵循代码层面上的一种规范
    类似ATM,选课系统三层架构

C/S架构

C client 
    客户端   类似于各类的app软件
S server     
    服务端
    服务端应该具备什么样的条件?
    1.24小时不间断的提供服务
    2.固定的地址
    3.可以同一时间供多人访问

B/S架构

B broswer  
    浏览器
S server
    服务端
b/s架构的本质也是c/s架构

c/s架构和b/s架构的优缺点

cs架构
    优:可以在客户端中定制相关的服务
   缺:必须要下载客户端
bs架构:
    优:不用下载客户端,可以在浏览器内直接使用
   缺:不能定制相关的服务
​
弥补:
    cs架构和bs架构交替使用
   可以方便用户使用,可以给自己全用户方便后期收割

架构发展趋势

统一接口原则

网络编程

什么是网络编程
    基于互联网编写代码,程序可以实现远程数据交互
网络编程的目的
    解决计算机的远程数据交互
网络编程的意义
    为了编写一个cs架构的软件
网络编程的起源
    军事   数据交互
网络编程的要求
    早期       电话
   台式电脑     网线
    笔记本      网卡
    总之就是必须要有网络
    
计算机能够实现远程数据交互前提?
        基于物理连接介质

OSI七层协议

规定:
    计算机在进行远程数据交互的时候(信息发送》》》信息获取)都必须经过的流程
1.七层
    应用层
    表示层
    会话层
    传输层
    网络层
    数据链路层
    物理传输层
应  表  会  传  网  数  物
​
2.五层
    应用层
    传输层
    网络层
    数据链路层
    物理传输层
应  传  网  数  物
​
3.四层
     应用层
     传输层
    网络层
    网络接口层

各层的特征

数据发出去:
    应用层>>>物理传输层
数据收进来:
    物理传输层>>>应用层
    
    
1.物理传输层:
    保证物理连接介质的条件,可以理解为网线
2.数据链路层
     1.规定了电信号的分组方式(二进制的形式,多少位一组)
    2.规定了每台计算机上都必须有网卡
        网卡上面有:1.电脑的以太网地址(身份证号)   mac地址
            他们都是由12位16进制数组成的
            前六位:产商编号
            后六位:生产流水线号
  既然mac地址相当于电脑的身份证号   那么就可以根据该地址查找到计算机
3.网络层
    IP协议
    规定:任何接入互联网的计算机都必须有一个IP地址
   IP地址:
    IPV4:点分十进制
        最小:0.0.0.0
       最大:255.255.255.255
        但是,ipv4太少,不够分,上网的人多
    IPV6:
        可以分很多很多
    IP特征:
        每个IP都自带定位
            ip代理
4.传输层
    PORT协议:  就是端口协议
    端口协议:
        规定了每台计算机都有一个端口号,端口号相当于计算机用来管理多个应用程序的标记
    1.端口号范围:0-65535
    2.端口号是动态分布的
    3.同一时间同一台计算机端口号不能冲突
    4.
        0-1024  一般是操作系统内部需要使用的
      1024-8000  一般是常见的软件已经使用了的
        8000+   我们平时写代码可以使用8000之后的端口号

IP+PORT
    ip  用于标识任意一台接入互联网的计算机
   port 用于标识一台计算机上的某个应用程序
    ip+port  用于标识任意一台接入互联网的计算机上的某个应用程序
    
5.会话层

6.表示层

7.应用层
    主要取决于程序员自己采用什么策略和协议
   常见的协议有:
            HTTP   HTTPS   FTP...

网址

什么是网址
    网址就是url  统一资源定位符
url的本质
    其实就是ip+port

域名解析和dns服务器

域名就是像 www.baidu.com 它的底层是ip地址

域名解析就是将域名解析为 ip+port

DNS主要用途是查找地址和连接设备

DNS通过 将域名与实际的服务器IP地址相连接 来让我们方便的访问网站

www.krseo.com/web/747.htm…