客户端:负责消费资源的电脑
服务器:负责对外提供网络资源的电脑,与普通电脑的区别就在于服务器上 安装了web服务器软件。
http模块是Node.js官方提供用来 创建web服务器的模块,通过http模块提供的http.createServer()方法,将一台普通电脑变成一台web服务器,从而对外提供web资源
使用http模块创建web服务器,需要使用以下代码导入它
const http = require('http');
IP地址:互联网上每台计算机的唯一地址,具有唯一性。采用 “点分十进制”表示,例如192.1688.1.1,互联网上的每台web服务器都有自己的IP地址,可以在windows终端运行ping www.baidu.com
,即可查看百度服务器的IP地址,通过百度IP地址可以直接打开百度。在开发期间自己的电脑既是一个服务器也是一个客户端,为了方便测试可以在浏览器输入127.0.0.1
这个 IP地址,就能将自己的电脑当作一台服务器进行访问。
服务器相关概念:
创建最基本的web服务器
const http = require('http');
http.createServer()
方法即可快速创建一个web服务器实例const server = http.createServer();
//使用服务器实例的 .on()方法,为服务器绑定一个request事件
server.on('request', (req, res) => {
//只要又客户端来请求我们自己的服务器,就会触发request事件,从而调用这个事件处理函数
console.log('Someone visit our web server.')
})
//调用 server.listen(端口号, cb回调)方法,即可启动web服务器
server.listen(80, () => {
console.log('http server running at http://127.0.0.1')
})
测试代码及讲解在最后
分享几个实用的快捷键:
首先运行代码 node 文件名.js 如下
然后复制网址http://127.0.0.1
在浏览器打开,也可以直接按住ctrl键点击终端中的该网址,也可以直接打开,显示如下
在后面添加/about.html
如下
//导入 http模块
const http = require('http');
//创建web服务器实例
const server = http.createServer();
//为服务器实例绑定request事件,监听客户端的请求
//req是请求对象,包含了与客户端相关的数据和属性
server.on('request', (req, res) => {
//req.url是客户端请求的URL地址,获取请求的url地址
const url = req.url;
//设置默认的内容为 404 Not found
let content = '404 Not found
'
if (url === '/' || url === '/index.html') {
content = '首页
' //用户请求的是首页
} else if (url === '/about.html') {
content = '关于页面
' //用户请求的是关于页面
}
//req.method是客户端请求的method类型
//const method = req.method;
//若是发送的内容包含中文,为了防止中文显示乱码的问题,需要设置响应头 Content-Type的值为 text/html; charset=utf-8
res.setHeader('Content-Type', 'text/html; charset=utf-8');
//res是响应对象,用于访问与服务器相关的数据或属性
//调用res.end()方法向客户端响应一些内容
res.end(content);
})
//4.启动服务器
server.listen(80, function () {
//这里前面提到过,如果是80端口可以省略,其它端口格式应该类似于http://127.0.0.1:80
console.log('server running at http://127.0.0.1')
})
✌又学完一点点,继续加油(ง •_•)ง