quguang 2019-12-04
目录
我们了解的涉及到两个程序之间通讯的应用大致可以分为两种:
第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用
第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用
这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~
C/S即:Client与Server,中文意思:客户端与服务端架构,这种架构也是从用户层面(也可以是物理层面)来划分的
这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。
优点:软件的使用稳定
? 节省网络资源
缺点:安装麻烦,用户体验差
? 软件的每一次更新,用户都需要重新下载或更新版本
B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。
Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源)
优点:软件的使用方便
? 无需跟着软件更新去下载
缺点:如果网络不稳定,软件的使用就不稳定
趋势:B/S架构流行,用户体验高
问题:网络到底是什么?计算机之间是如何通信的?
语言是人与人之间沟通的介质!
协议是计算机与计算机之间沟通介质!
如何远程通信
物理连接介质
电脑与电脑通信:互联网协议
互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层
此时需要关注的是5层: 由下到上记
- 应用层 - 传输层 - 网络层 - 数据链路层 - 物理层
获取计算机的电信号数据(100101001) 问题:无法获取具体数据内容,将电信号数据扔给数据链路层
我们要知道数据是什么? 我们要知道数据是给谁的? 以太网协议: 获取电信号真实数据 head:-18个字节 -6:发送者 -6:接受者 -6:数据类型 data:电信号具体的类型 每台电脑必须要有一个网卡(电脑插网线的地方,里面连着一个网卡) 网卡:每块网卡都会有一串世界上独一无二的数字 MAC 地址 12位16进制的数字,6位产品好,6位流水号 MAC地址作用:标识世界上一台独一无二的计算机 以太网协议的工作方式: 单播: 广播:只能在局域网内实现通信, 无法跨局域实现通信 总结:MAC地址:标识全世界上一台独一无二的计算机
实现全世界某一台计算机之间的通信 IP地址(IP协议): 点分十进制的数字组成 130.123.31.55 最小范围:0.0.0.0 最大范围:255.255.255.255 IP的版本: IPV4 IPV6 IP的作用:用于标识全世界某一台计算机的位置,局域网的位置 总结:IP地址 + MAC地址: 标识全世界某一个局域网内的某一台计算机
TCP与UDP都是基于“端口”实现通信的 TCP: UDP: 主要是软件与软件之间进行通信 port端口: 用于标识计算机某一个独一无二的软件 总结:IP地址 + MAC地址 + PORT端口: 标识的是全世界范围内某一个局域网内某台计算机上的某一个软件
大佬们定制好的一套牛X的协议 HTTP协议 FTP协议 自定义的协议