文章目录
- @[TOC](文章目录)
- 1、什么是http模块?
- 1.1.作用
- 1.2.服务器相关概念
- 1.2.创建基本的web服务器-实现的核心步骤和代码
- 1.2.1导入http模块
- 1.2.2.req 请求对象
- 1.3.根据不同的url地址 响应不同的html内容
- 1.4.案例-clock时钟的web服务器
文章目录
- @[TOC](文章目录)
- 1、什么是http模块?
- 1.1.作用
- 1.2.服务器相关概念
- 1.2.创建基本的web服务器-实现的核心步骤和代码
- 1.2.1导入http模块
- 1.2.2.req 请求对象
- 1.3.根据不同的url地址 响应不同的html内容
- 1.4.案例-clock时钟的web服务器
1、什么是http模块?
🍔什么是客户端,什么是服务器
在网络节点中,负责消费资源的电脑,叫做客户端;
负责对外提供网络资源的电脑,叫做服务器。
🍳http模块
和之前的fs模块都是node官方提供的模块,用来创建web服务器
的模块。通过提供的http.createServer()
方法,就能把电脑变成一台服务器,对外提供资源服务。
同样需要先导入它
const http = require('http');
1.1.作用
🍿服务器与普通电脑的区别
在于,服务器上安装了 web服务器软件
,例如:IIS、Apache等。通过安装这些服务器软件,把一台电脑变成一台web服务器。
🥞在Node中,可以基于Node.js提供的http模块,通过几行代码,从而对外提供web服务
1.2.服务器相关概念
🌯IP地址
- 是每台
计算机的唯一地址
,具有唯一性,只有在知道对方ip地址
的前提下,才能与对应的电脑之间进行数据通信。 - 如果想要知道某一个网站的ip地址,可以在终端中(windows+r)使用
ping 网址
便可知道
🥙域名
和域名服务器
- 由于ip地址是一长串数字,不直观,不便于记忆,于是发明了另一套
字符型
的地址方案
,即称之为域名地址
IP地址
和域名地址
是一一对应
,这份对应关系存放在一种叫做域名服务器
(DNS) 的电脑中。使用者只需通过好记忆的域名访问即可,转换工作由域名服务器实现。因此,域名服务器提供ip地址和域名之间转换服务的服务器
🌭注意点:- 单纯使用ip地址访问也可正常访问,但是,域名更方便。
🥓端口号 - 计算机中的端口号是一种标记,通过特定的标记,可以访问对应的资源
- 由于服务器上可以运行多个web服务,每个web服务都对应一个唯一的端口号。客户端发送过来的网络请求,可以通过端口号,准确地交给
对应的web服务器
进行处理。
1.2.创建基本的web服务器-实现的核心步骤和代码
- 1.导入http模块
- 2.创建web服务器实例
- 3.为服务器实例绑定
request
事件,监听客户端的请求 - 4.启动服务器
1.2.1导入http模块
1.2.2.req 请求对象
🚜只要服务器收到了客户端的请求,就会调用通过server.on()
为服务器绑定的request 事件处理函数
// 3.为服务器实例绑定`request`事件,监听客户端的请求
server.on('request', function (req, res) {console.log('有人发请求了 server');
//req 請求對象,包含了与客户端相关的数据和属性
//req.url 请求的url地址
//req.method 请求的类型,如GET、POST等
//req.headers 请求头信息,是一个对象,包含了请求头信息的键值对})
1.3.根据不同的url地址 响应不同的html内容
🚜核心实现步骤:
- 1.获取
请求url地址
- 2.设置
默认的响应式内容
为404 not found - 3.判断用户请求的是否为
/
或/index.html
首页 - 4.设置
Content-Type
响应头,防止中文乱码 - 5.使用
res.end()
把内容响应给客户端
1.4.案例-clock时钟的web服务器
🍔核心:
- 把文件的
实际存放的路径
,作为每个资源的请求url地址
🥟步骤: - 1.导入需要的模块
- 2.创建基本的服务器
- 3.将资源的请求url地址映射为文件的存放路径
- 4.读取文件内容并响应给客户端
- 5.优化资源的请求路径
🍔优化资源的请求路径