Java教程

今日学习内容总结3.0

本文主要是介绍今日学习内容总结3.0,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今日学习内容总结

软件开发结构

      软件开发架构简介

      随着网络技术的不断发展,单机的软件程序已难以满足网络计算的需要。为此,各种各样的网络程序开发体系结构应运而生。其中,运用最多的网络应用程序开发体系结构可以分为两种,一种是基于浏览器/服务器的B/S结构,另一种是基于客户端/服务器的CS结构。

      软件开发架构分类:

  1、C/S体系结构介绍
  2、B/S体系介绍

1.C/S架构

      C/S是Client/Server的缩写,即客户端/服务器结构。在这种结构中,服务器通常采用高性能的PC机或工作站,并采用大型数据库系统,客户端则需要安装专用的客户端软件。这种结构可以充分利用两端硬件环境的优势,将任务合理地分配到客户端和服务器,从而降低了系统的通信开销。在2000年以前,C/S结构占据网络程序开发领域的主流。

      类比案例:我们手机上下载的各种app其实是各大厂家的客户端,打开app使用功能的时候其实就是相当于是基于网络去到厂家的店里面让服务员给你提供服务。

2.B/S架构

      B/S 是Brower/Server 的缩写,即浏览器/服务器结构。在这种结构中, 客户端不需要开发任何用户界面, 而是通过Web 浏览器向Web 服务器发送请求,由Web服务器进行处理,并将处理结果逐级传回客户端。这种结构利用不断成熟和普及的浏览器技术来实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本,是一种全新的软件体系结构。B/S 体系结构已经成为当今应用软件的首选体系结构。

      其实B/S架构本质上也是C/S架构。让浏览器充当各个厂家的客户端,用户无需下载相应客户端。比如微信小程序等。

两种体系结构的比较

      C/S 结构和B/S 结构是当今世界网络程序开发体系结构的两大主流。 目前, 这两种结构都有自己的市场份额和客户群。但是,这两利体系结构又各有各的优点和缺点:

      1.开发和维护成本方面:

'''
    C/S 结构的开发和维护成本都比B/S高。采用C/S结构时,对于不同客户端要开发不同的程序,而且软件的安装、调试和升级均需要在所有的客户机上进行。 例如, 如果一个企业共有10个客户站点使用一套C/S结构的软件, 则这 10 个客户站点都需要安装客户端程序。当这套软件进行了哪怕很微小的改动后, 系统维护员都必须将客户端原有的软件卸载,再安装新的版本并进行配置, 最可怕的是客户端的维护工作必须不折不扣地进行 10 次。若某个客户端忘记进行这样的更新,则该客户端将会因软件版本不一致而无法工作。 而 B/S 结构的软件, 则不必在客户端进行安装及维护。 如果将前面企业 C/S结构的软件换成 B/S 结构, 则在软件升级后, 系统维护员只需要将服务器的软件升级到最新版本, 对 千其他客户端, 只要重新登录系统, 即可使用最新版本的软件。
'''

      2、客户端负载:

'''
    C/S 结构的客户端不仅负责与用户的交互,收集用户信息,而且还需要完成通过网络向服务器请求 对数据库、电子表格或文档等信息的处理工作。 由此可见, 应用程序的功能越复杂,客户端程序也就越庞大,这也给软件的维护工作带来了很大的困难。而B/S结构的客户端把事务处理逻辑部分交给了服务器, 由服务器进行处理,客户端只需要进行显示,这样将使应用程序服务器的运行数据负荷较重,一旦发生服务器”崩溃”等问题,后果将不堪设想。因此,许多单位都备有数据库存储服务器, 以防万一。
'''

网络编程简介

      网络编程,网络编程的研究前提就是基于互联网,网络编程就是基于互联网编写代码。学习完网络编程之后就可以开发C/S架构的软件(掌握原理 使用框架)。

网络编程的发展史

      该技术源于美国军方:很多先进的技术都是由军事发明后续转为民用。实例:军方想要实现不同计算机之间数据交互,没有网络编程技术的时候只能拿U盘拷贝并携带,为了跨区域交互数据所以发明了网络编程。

      早期远程通信:

  1.座机电话 -------> 彼此打电话需要电话线
  2.大屁股电脑 -----> 数据交互需要插网线
  3.智能手机 -------> 数据交互需要无限网卡

      互联网协议:不同计算机之间要想实现无障碍交互,除了需要有物理链接介质之外还需要一套公有的标准。这个标准是:互联网协议(OSI七层协议)。

OSI七层协议

OSI七层协议简介

      OSI七层协议,就是所有算机在生产过程中必须有相同的部分和相同的功能:

  1.应用层
  2.表示层
  3.会话层
  4.传输层
  5.网络层
  6.数据链路层
  7.物理链接层
  
  # 这七层也有人总结为五层
  1.应用层(三层)
  2.传输层
  3.网络层
  4.数据链路层
  5.物理链接层

OSI七层协议

      OSI七层的本质其实就是规定了数据要想基于网络发送出去必须在计算机上经历一些固定的流程。

      1.物理链接层:最常见的就是我们的网线,看名字就知道是网络应用中,我们能见到的物理层面的基础设施。

      2.数据链路层:任何一个网络设备都有一个唯一的身份识别码,这个识别码就是MAC地址。你可以通过Windows+R,输入cmd,输入命令ipconfig/all查看你PC机的MAC地址。我们能看到它是由十六进制的12位数字组成,表现形式不唯一。

      3.网络层:简单直接,就是IP,IP的作用就是寻址。

      4.传输层:我们常见的传输形式是TCP和UDP。 TCP:优点是稳定可靠安全,缺点就是速度较慢;UDP:优点是速度快,缺点当然是不可靠了。

      5.会话层:它是传输层的领导。

      6.表示层:将上一层(即应用层)协议翻译成电脑可识别的语言。

      7.应用层: 每个网络应用对应不同的协议,这些协议就属于应用层。

网络知识补充

    互联网:将计算机彼此链接到一起的介质。
    建立目的:基于互联网做数据交互。
    上网的本质:基于网线去访问其他计算机上面的资源。

专业设施名词

  1.交换机:让接入交互机的多台计算机之间彼此互联
  2.局域网: 由交换机组成的网络称之为局域网(一个区域)
  3.广播与单播:广播在交换机中群发;单播定向回复消息(记录mac地址)
  4.路由器: 将局域网彼此链接起来并支持数据交互,互联网其实可以看成是由多个局域网链接在一起

TCP与UDP协议

      这两个协议都属于传输层。

TCP协议

      TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制。基于TCP协议进行数据交互之前需要做一系列复杂的操作:三次握手四次挥手。

      三次握手

  第一次:
  客户端 - - > 服务器 此时服务器知道了客户端要建立连接了

  第二次:
  客户端 < - - 服务器 此时客户端知道服务器收到连接请求了

  第三次:
  客户端 - - > 服务器 此时服务器知道客户端收到了自己的回应

      图例:

      四次握手

      数据传输完毕后,双方都可以释放连接。此时客户端和服务器都是处于ESTABLISHED状态,然后客户端主动断开连接,服务器被动断开连接。图例:

UDP协议

      传输层另一个重要的协议就是用户数据报协议 UDP。UDP 只在 IP 的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。

      UDP的主要特点:

  1.UDP是无连接的
  2.UDP使用尽最大努力交付
  3.UDP是面向报文的
  4.UDP没有拥塞控制
  5.UDP 支持一对一、一对多、多对一和多对多的交互通信。
  6.UDP的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。

      UDP协议,也叫丢包协议、不可靠协议。因为不需要建立双下通道,所以数据的传输速度快,但是可能会丢失。实例:qq使用的就是UDP协议,所以有时候会产生数据丢失现象。但是我们可以在UDP协议的基础之上做很多额外的扩展来保证数据的安全。

这篇关于今日学习内容总结3.0的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!