本文最后更新于 26 天前,其中的信息可能已经有所发展或是发生改变。
什么是计算机网络
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
- 基本组成
- 硬件:包括计算机(如服务器、工作站)、网络连接设备(如路由器、交换机、集线器)、传输介质(如双绞线、光纤、无线信号)等。计算机是网络的核心设备,用于数据处理和存储;网络连接设备负责数据的转发和交换;传输介质则用于传输数据信号。
- 软件:主要有网络操作系统(如 Windows Server、Linux)、网络通信协议(如 TCP/IP、UDP)、网络管理软件等。网络操作系统用于管理和控制网络中的计算机资源;网络通信协议规定了数据在网络中的传输格式和规则;网络管理软件用于对网络进行监控、配置和维护。
- 主要功能
- 资源共享:用户可以在网络上共享打印机、扫描仪等硬件资源,也能共享软件、数据等信息资源。如企业内部员工可共享服务器上的办公软件和业务数据。
- 数据通信:实现计算机之间的信息传输,如发送电子邮件、即时通讯、视频会议等。
- 分布式处理:将一项复杂的任务分解为多个子任务,分配到不同的计算机上进行处理,提高处理效率。例如大型科研项目的计算任务可通过网络分配到多台计算机上并行计算。
- 分类方式
- 按地理范围:可分为局域网(LAN),如家庭网络、办公室网络,覆盖范围一般在几十米到几公里;城域网(MAN),覆盖一个城市,范围通常在几十公里以内;广域网(WAN),可覆盖多个城市甚至全球,如互联网。
- 按拓扑结构:有总线型网络,所有设备都连接在一条总线上;星型网络,以中央节点为中心,其他节点都与中央节点相连;环型网络,节点通过点到点链路连接成一个闭合环;树型网络,节点按照层次进行连接,形状像树;网状型网络,节点之间存在多条链路,可靠性高但成本也高。
- 工作原理
- 分层架构:采用分层的体系结构,如 OSI 七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)或 TCP/IP 四层模型(网络接口层、网际层、传输层、应用层)。每一层都有特定的功能,为上一层提供服务,并向下一层请求服务。
- 数据传输:当用户在计算机上发送数据时,数据会从应用层开始,按照各层的协议进行封装,依次向下传输,直到物理层将数据转换为信号通过传输介质发送出去。接收方则从物理层开始,按照相反的顺序对数据进行解封装,最终将数据呈现给用户。
网站通信必备要素
通信规模演化
网络协议和分层
网络协议中的约定
TCP/IP协议簇
网络数据的传输
OSI
参考模型还是为理论模型,主要应用还是TCP/IP协议
HTTP协议
请求方式
至于请求头、响应头和响应状态码的具体解释和介绍,详见博客文章(请求报文和响应报文)
前端和后端
编程语言
用户可以直接看到的,可以被叫做为前端。
前端的作用:展示用户界面,与用户进行交互
前端核心技术:HTML(约定文档格式),JavaScript(添加交互特性),CSS(设置网页样式和布局)
后面就出现的是前端的框架:React,Angular等
后端的作用:完成业务逻辑,与数据库交互
常见的后端编程语言:java、C/C++、C#、PHP、Python、Go、Ruby….
前端与后端的关系
前端调用后端的接口,后端操作数据库
Web服务器
如果你要别人访问你的网站的应用程序,必须要开放对应的应用端口才可以
比如别人要访问你的Mysql数据库,那么就要开放你的3306端口
Web服务器(Web容器,HTTP容器):
Apache、Nginx、Tomcat、Webloigc、jboss等
Web服务器作用:
- 接受HTTP请求,返回HTTP响应
- 调用后端程序,例如PHP或者java,处理业务逻辑
- 管理静态资源
- 基础功能:记录日志、建立缓存、反向代理、负载均衡、HTTPS加密
数据库
如果没有数据库系统
- 文件容易损坏丢失,安全性差
- 不能保证数据的一致性
- 单人单机操作,无法协作,效率低
- 没有用户和权限系统,权限无法控制
- 无法生成复杂的报表
- 无法实现数据变动的各种操作自动化
数据库操作系统的作用:
- 支持自动同步备份(主从架构)
- 提供用户的权限管理
- 提供操作的API(驱动连接),实现自动化操作
- 提供标准的SQL语句
常见的数据库:
MySQL、Oracle、SQL server、Postgres、DB2、Redis…..
浏览器
浏览器的作用
- 发起网络请求,接受网络响应
- 以图形化方式展现内容
- 解析HTML、JS、CSS,支持交互
- 提供开发者工具,调试页面
- 提供书签,历史记录,插件,隐私模式,下载文件等功能
URL
统一资源定位符(Uniform Resource Locator)
具体的自行了解吧
总结
懂这张图就差不多了