在正式学习Nodejs前需要学习一些前置的知识。
网络架构
常见的网络架构有CS架构和BS架构。
CS架构就是客户机/服务器,客户端与服务器端(业务服务器与数据库服务器集成)程序之间的交互,这种技术很成熟,主要特点就是交互性强,且具有安全的存取模式,网络通信量低、响应速度快、善于处理大量数据。但是该结构由于每个客户机都需要安装对应的程序,因此分布能力弱,局限于小型局域网。
BS架构就是浏览器/服务器,客户端浏览器与服务器之间的交互,客户端通过浏览器访问服务器,服务器从数据库中查询并返回结果,然后服务器处理结果后再返回处理结果给客户端浏览器。由于客户端只通过浏览器访问,因此客户端的配置要求不高且没有要求,服务器本质上也是处理访问的客户机,因为具体配置要求只看项目要求,相对于CS,分布性强,开发简单。但是也有安全性低、数据量会严重影响传输速度。
客户端:能从服务端获取资源为客户提供服务的设备,常见设备有电脑、手机等。
服务器:为客户端提供服务、提供数据、提供资源的设备,常见设备有电脑,其实本质上也是一个客户端,只是还安装了提供服务的某种软件,比如 Tomcat,Node.js 等等。
通信协议:负责规定客户端与服务端之间通信的方式、格式。
万维网
万维网一个通过应用层使用HTTP协议的基于互联网运行的一项服务,也是上文基于BS架构中的一种网络交互。
核心是三个标准组成:
1、统一的资源标识符URL,一个为资源定位的系统;
2、超文本传送协议HTTP,规定客户端与服务器如何互相交流;
3、超文本标记语言HTML,定义超文本文档的格式。
可以理解为信件地址,信件格式以及信件内容。
常见的服务器软件
HTTP服务器:Apache、IIS、Tomcat、Nginx、Node.js 等
文件服务器:Server-U、FileZilla、VsFTP 等
邮件服务器:Postfix、Sendmail 等
数据库服务器:Oracle、MySQL、PostgreSQL、MongoDB 等
通过上文的讲述,我们理解了何为BS架构以及Nodejs处于哪个环节,下一篇将会正式学习Nodejs的基础。