软件的结构与网络基础
一、软件结构 什么是软件:
软件,国际中对软件的定位:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档以及数据。
其他定义:
1.运行时,能够提供所要求
文章目录 一、软件结构 什么是软件: 软件,国际中对软件的定位:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档以及数据。 其他定义: 1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。 2.程序能够满意地处理信息的数据结构。 3.描述程序功能需求以及程序如何操作和使用所要求的文档。 以开发语言作为描述语言,可以认为:软件=程序+数据+文档(代码也可理解成是一种文档) 二、常见的软件表现形式 三、程序架构 C/S架构 C/S架构:Client/Server(客户端/服务器)结构 需要服务器端部署;用户单独安装客户端,客户端软件升级,服务器端要为每个用户服务!!!可以单机不联网使用。 业务逻辑主要放在了客户端(服务端也许会有部分业务逻辑需要处理),服务端主要做数据存储。 优点 充分发挥客户端计算机处理能力,客户端能将用户请求处理后再提交给服务器,将用户请求处理之后再提交给服务器; 将服务器提供的数据处理后再以某种方式显示给客户,所以客户端的响应速度较快,网络通信量低。 缺点 因为业务逻辑处理主要集中在客户端,所以应用需求只要发生变化,就必须对客户端和服务器端的应用程序进行修改,服务器端应用程序修改比较容易,主要是服务器数量少,而且涉及数据存储改动量较小,但是新的客户端应用程序需要重新分发给所有的用户,工作量大。而且,开发客户端往往是针对某一操作系统编写的。如适用于Windows操作系统的软件,通常不适用于Linux,而且就算都是Windows系统,WindowsXP下能运行,但在Windows10下就未必了。 B/S架构 B/S架构是Browser/Server的缩写,翻译过来就是“浏览器/服务器”。 优点 B/S架构解决了C/S架构存在的部分问题,首先没有客户端的差异,用户只需要安装浏览器,无须另外安装客户端。如果应用的业务逻辑发生变化,只需要更新服务端的应用程序就可以了。其次,客户端将不受到操作系统的限制,目前主流的浏览器往往在多种操作系统下都有对应的版本可供使用。 缺点 增加了服务器的负担,因为业务逻辑集中在服务器端,服务器需要对不同用户的多次请求都做出响应,同时又要对数据库进行维护,工作量较大。 四、软件组成 软件一般分为:前端和后端 前端 前端主要的作用就是与用户交互,接收用户输入并发送给后端,接收后端返回的数据,友好的展示给客户。 这里就跟前台和后台不一样。(前台、后台一般指的是业务层,比如淘宝前台展示给买家,后台展示给卖家,后台和前台只是业务逻辑上的区别,与软件组成无瓜,有的程序只有前台而没有后台) 常用技术:Html,Css,JavaScript等 后端 后端的作用主要是:处理消息,生成结果,存储数据。 常用技术:Java,C,C++,Python,Go等 后端常用架构:单体架构、垂直架构、分布式架构、微服务架构 五、网络基础 域名 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们涉及出了域名,并通过网络名称系统(DNS,Domain Name System)来将域名和ip地址相互映射,使人更方便地访问互联网软件应用程序,而不用去记住能够被机器直接读取的IP地址数串。 特点和作用就是:方便记忆 某种意义上来说:域名=IP,只是表现形式不一样 IP 百度IP可找到自己家的公网IP,意味着我家在互联网上的一个地址(一般家用网络不能用作为服务器,运营商限制了端口) 少数电脑连成的局域网,每一台连接的设备都会有一个局域网IP 127.0.0.1 localhost 端口 服务器有65535个端口(65535为2的16次方减1) 常用端口 OSI七层模型 OSI(Open System Interconnect),即开放式系统互连。一般都叫OSL参考模型,是ISO组织在1985年研究的网络互连模型 TCP/IP协议 TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层,网络层,传输层和应用层; 划分4个层次则为:应用层,传输层,网际互联层,网络接口层; 在层次结构上,相同之处:都采用了分层体系结构;不同之处:TCP/IP参考模型比OSI参考模型更简化。 三次握手四次挥手 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。 三次握手 为什么要使用三次握手 1、在第一次通信过程中,A向B发送信息之后,B收到信息后可以确认自己的收信能力和A的发信能力没有问题。 2、在第二次通信中,B向A发送信息之后,A可以确认自己的发信能力和B的收信能力没有问题,但是B不知道自己的发信能力到底如何,所以就需要第三次通信。 3、在第三次通信中,A向B发送信息之后,B就可以确认自己的发信能力没有问题。 四次挥手 为什么连接的时候是三次握手,关闭的时候却是四次挥手? 1、因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中 ACK报文是用来应答的,SYN报文是用来同步的。 2.但是关闭连接时,当Server端收 到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先 回复一个ACK报文, 告诉Client端 ,"你发的FIN报文我收到了"。 3、只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故 需要四步握手。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |