网络编程:软件开发架构

一、楔子

现在我们已经学会了写Python代码,假如你写了两个Python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好,但是如果这两个程序之间想要传递一个数据,应该怎么做呢?

在这里插入图片描述
类似的机制有网盘、QQ等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。由于在不同机器上的程序需要通信,才产生了网络。

二、软件开发架构

我们了解的涉及到两个程序之间通讯的应用大致可以分为两种:
第一种是应用类程序:QQ、微信、网盘这一类是属于需要安装的桌面应用
第二种是web类程序:用户只需要浏览器即可访问程序。常见的web类应用程序 比如百度、知乎、CSDN等使用浏览器访问就可以直接使用。
不管是应用类程序还是web类程序,这些应用的本质其实都是两个程序之间的通讯, 而这两个分类又对应了两个软件开发的架构。

1、客户端服务端概念

客户端:就是我们常用的程序例如QQ、微信,浏览器等等。
服务端:要一直运行着给别人提供服务的机器(电脑、服务器)。

2、C/S架构

C/S即:Client与Server,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。
这里的客户端一般泛指客户端应用程序exe,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。在这里插入图片描述

3、B/S架构

B/S架构:Browser与Server,中文意思:浏览器与服务器端架构,这种架构是从用户层面来划分的。
Browser浏览器,其实也是一种Client客户端,只是这种客户端不需要大家去安装什么应用程序,只需要在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章