网络编程-之-架构
网络编程
一、楔子
你现在已经学会了写python代码,假如你谢了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢?
但是当你的a.py和b.py分别在不同电脑上的时候你要怎么办呢?
类似的机制有计算机网盘,qq等等。我们可以在我们们的电脑桑和别人聊天,可以在自己的电脑上向网盘中上传,下载内容,这些都是两个程序在通信。
二、软件开发的架构
我们了解的涉及到两个程序之间通讯的应用大致可以分为两种:
第一种是应用类,qq、微信、网盘、优酷这一类是属于需要安装的桌面应用
第二种是web类:比如百度、知乎、博客园、等使用浏览器访问就可以直接使用的应用
这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构。
1.C/S架构
C/S即:Client与Server,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。
这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。
2.B/S架构
B/S架构:Browser与Server,中文意思:浏览器与服务器端架构,这种架构师从用户层面来划分的。
Browser浏览器,其实也是一种Client客户端,只是这种客户端不需要大家去安装什么应用程序,只需要在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。