关于node.js服务器相关概念

849 阅读2分钟

服务器与客户端

服务器是提供网络服务的机器,通过安装特殊的软件(或者是运行某段特殊的代码)来提供服务。

Snipaste_2022-04-28_19-43-52.png
服务器  = 电脑 + 能给其它电脑/设备提供服务的软件
客户端与服务器:提供服务的是服务器,享受服务的是客户端

服务器的类型

根据服务不同,服务器的类型也不同:

  • web服务器。安装apache, tomcat, iis, 或者在nodejs环境写代码 来提供:图片浏览,新闻浏览....等服务的服务器。
  • ftp服务器。安装serv-U软件,为其它电脑提供文件下载,共享服务。
  • 数据库服务器。安装mysql软件,为其它电脑提供数据库服务。 .... web服务器:
  • 用户通过浏览器来享受web服务器提供的服务
  • 我们用url地址来访问某个web服务器上的资源
  • 浏览器端发起请求,web服务器收到请求后,响应这个请求,并将处理结果返回给浏览器

Snipaste_2022-04-28_19-51-23.png

ip地址

全称:internet protocol address 作用:标记一个网络设备,想要访问他就得找到他的ip
分类:ipV4   ipV6
格式:[0-255].[0-255].[0-255].[0-255] 即为四个 0-255 的数字组成(以ip4为例)。在同一个网络中,计算机的IP是不允许相同的,都是唯一的。

域名

域名:ip地址的别名,由于ip地址不好记忆,我就给它们取个好记的别名。localhost这个域名特指127.0.0.1这个地址。 域名解析系统:把域名翻译成Ip地址的系统。

端口

一个IP地址的端口可以有65536个,范围是从[0,65535])。不同的端口被不同的软件占用,以提供不同的服务。 一台电脑可以通过安装多个服务器端软件来提供服务,比如Web服务、FTP服务、SMTP服务等。显然,仅仅通过ip地址是无法区分不同的服务的。

  1. 服务器要提供服务必须要通过指定的端口
  2. 服务器与客户端都需要通过端口要进行通信
  3. 端口是可以编程分配
  4. 有一些端口号是被预定了的。
  • http: 80
  • https:443
  • mysql:3306

用http 模块写一个简单的web服务器

// 1. 引入http模块
const http = require('http');

// 2. 创建服务
const server = http.createServer(function (request, response) {
  console.log('来人了')
  // 往客户端发送内容
  res.end('123321');
});
// 3. 启动服务
server.listen(8000, function () {
  console.log('启动服务器');
});

先启动服务器

Snipaste_2022-04-28_20-15-33.png 然后输入端口, 效果如下

Snipaste_2022-04-28_20-12-24.png