一,网站的组成

互联网 架构 图片服务器 互联网服务器的标志_服务器


Node网站服务器是指能够提供网站服务的机器,它能够接收客户端的请求,并且对客户端的请求做出响应。

通常,服务器是一个类似主机的东西 ,安装了node环境,可以被访问,放置在机房中。

而程序员或者用户是通过ip地址来访问这个服务器的。

二,ip地址

是互联网中设备的唯一标识。

ip是:internet Protocol Address的简写,代表互联网协议地址。

互联网 架构 图片服务器 互联网服务器的标志_服务器_02


这就是ip地址。

但是ip地址是一串数字,不好记忆,于是引入了域名的概念,来访问对象ip地址的服务器。

域名实际上就是网址。也即是对应网站的服务器的ip地址。

也就是说,虽然在地址栏中输入的是地址,但是最终会将域名转换为ip才能访问到指定的网站服务器。

但是呢,一台服务器不仅仅是提供网站服务,它还会提供其他诸如文件上传下载服务,邮件服务等。那如何区分客户端发来的请求是哪个服务呢?

于是又引入了端口的概念:

三,端口

端口是计算机和外界通讯交流的出口,用来区分服务器电脑中提供的不同服务。

也就是说,服务器提供了不同的端口,用来处理对应不同的请求。当邮件服务请求到服务器时,会转到邮件处理端口,进行服务。就和银行不同窗口办理不同业务一样。

互联网 架构 图片服务器 互联网服务器的标志_服务器_03

四,URL

我们平时所说的网页地址就是url:uniform Resourse Location (统一资源定位符)

包含了域名地址和端口等请求的信息。

互联网 架构 图片服务器 互联网服务器的标志_客户端_04


那平时我们 访问网站时,为什么只输入域名没有输入端口号呢?那是因为访问网站时,默认的端口号是80端口号。

互联网 架构 图片服务器 互联网服务器的标志_ip地址_05


而在开发阶段,网站的服务器可以设置为开发者自己的电脑,然后通过域名访问。

五,创建web服务器

我的电脑已经安装了node.js,满足成为一个服务器的基本条件,现在,我还需要使用node.js创建软件层面上的网站服务器。也就是说我们需要得到请求对象和响应对象。

互联网 架构 图片服务器 互联网服务器的标志_互联网 架构 图片服务器_06


响应对象的end方法,是对发来的请求做出响应。括号里面就是响应内容。

//用于创建网站服务器的模块
const http=require('http')
//app对象就是网站服务器对象
const app=http.createServer()

//当客户端有请求来得时候,执行这个事件
app.on('request',(req,res)=>{
	res.end('<h2>hello world</h2>')
})
//还要监听端口,才能向外界提供服务
app.listen(3000)
console.log("网站服务器启动成功")

然后在命令行窗口运行这个代码,创建本地的服务器:

互联网 架构 图片服务器 互联网服务器的标志_服务器_07


这就创建成功了,现在可以在浏览器中输入域名和端口号来访问这个服务器了:

互联网 架构 图片服务器 互联网服务器的标志_服务器_08


上述第一个圈,就是客户端向服务器端发出请求,第二个圈就是 服务器端向客户端做出响应。

但这只是最基本的,要了解更多,还得学习http协议。

六,http协议

其实http协议就是一个客户端和服务端进行沟通的规范!

互联网 架构 图片服务器 互联网服务器的标志_ip地址_09


互联网 架构 图片服务器 互联网服务器的标志_客户端_10


而请求和响应的过程必然伴随着数据的传递。在http请求响应的过程中传递的数据块,叫做报文,包括要传送的数据和一些附加信息,并且需要遵守规定好的格式。

互联网 架构 图片服务器 互联网服务器的标志_客户端_11


下图红圈中的内容就是报文的具体内容:

互联网 架构 图片服务器 互联网服务器的标志_ip地址_12