一、客户端与服务器
当我们访问一个网站的时候,是谁在给我们提供内容丰富的网页内容。答案是服务器。
浏览器可以通过互联网想服务器发送请求,例如我们在浏览器的地址栏输入http://baidu.com后,按下回车键,浏览器就会想百度发服务器发送一个请求,服务器接到请求之后,会把百度的首页内容以文本的方式发送给浏览器(其中包括html、css和js),然后我们便看到了网页。
关于这个过程,后续章节涉及到http协议的内容,再深入讲解,本章只要记住几个最基本的概念即可:
请求:浏览器想服务器要数据
响应:服务器给浏览器发送数据
地址:我们可以通过域名或ip访问到一个网站,域名或者ip就是这个网站的地址。
端口:一个ip或者一个域名可以找到一台服务器,但是这台服务器可以对外服务多个网站,他们的端口是不同的,因此访问一个站点除了输入ip或域名,还要输入端口,平时我们很少输入端口是因为几乎所有的网站都会使用默认的80端口,因此不必输入。
二、创建服务器
我们可以通过http模块的createServer方法在本地创建一个服务器,示例代码如下:
1const http = require('http');2const server = http.createServer((req, res) => {3res.end('Hello World');4});5server.listen(3000, () => {6 console.log(`Server is running`);7});
在上面的代码中,createServer方法用来创建服务器对象,然后服务器对象通过listen方法定义服务器的端口。
在命令行工具中,使用node命令执行这个js文件,可以看到命令行工具中出现一行提示
Server running at http://127.0.0.1:3000/
这是服务器已经正常启动,接下来可以打开浏览器,在地址栏输入http://127.0.0.1:3000访问此页面,可以看到页面上出现Hello World。
这样,我们就完成了一个node服务器的搭建
nodemon
全局安装nodemon,然后使用nodemon启动服务器,在修改文件之后,服务器可以自动重启。
三、总结
本节我们通过Node创建了一个本地服务器,但是在实际开发工作中,不会直接使用原生的Node来编写服务器程序。通常会配合一些框架来提高服务器开发效率。
因此,为了提高大家的学习效率,对于原生开发服务器的知识点,简单了解即可,不必过多研究。等待有一定项目经验之后,如果有兴趣再来深入研究。
四、课后练习
创建一个端口为80的node服务器,满足一下要求:
访问http://127.0.0.1查看首页内容。
首页内容包括如下html
1
我的网站
2此网站基于Node开发
网友评论