node.js基础学习-http模块-创建HTTP服务器、客户端(一)

http模块式Node.js内置的模块,用于创建和管理HTTP服务器。Node.js使用JavaScript实现,因此性能更好。

使用http模块创建服务器,我们建议使用commonjs模块规范,因为很多第三方的组件都使用了这种规范。当然es6写法也支持。

下面就是创建一个简单的Node.js服务器。

js 复制代码
//使用http模块创建服务器,我们建议使用commonjs模块规范,因为很多第三方的组件都使用了这种规范。当然es6写法也支持。
//http模块式Node.js内置的模块,用于创建和管理HTTP服务器。传统的HTTP服务器一般使用C语言编写,但Node.js使用JavaScript实现,因此性能更好。
const http = require('http')

//创建服务器,监听3000端口
http.createServer((req, res) => {
    //判断请求url是否为favicon.ico,如果是则返回空(这个请求是一个浏览器的默认请求,可以忽略)
    if (req.url === '/favicon.ico') {
        return
    }

    //设置响应头,状态码为200,内容类型为text/html;charset=utf-8,这种才能正常显示中文
    res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'})
    //分配响应内容
    res.write(switchPage(req.url))
    //这里必须要end,否则会出现卡死的情况
    res.end()
}).listen(3000, () => {
    console.log('Server is running on port 3000')
})

/**
 * 根据url返回对应的页面内容
 * @param url
 * @returns {*|string}
 */
const switchPage = (url) => {
    return {
        '/home': `<h1>Home Page</h1><p>Welcome to my website</p>`,
        '/about': `<h1>About Page</h1><p>This is a paragraph about me</p><img src="https://picsum.photos/200" alt="Random Image">`,
        '/list': `<h1>List Page</h1><ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul>`,
    }[url] || `<h1>404 Not Found</h1><p>The page you are looking for does not exist</p>`
}

浏览器输入http://localhost:3000/about,页面就会呈现以下这种

相关推荐
白狐_7982 分钟前
【深度拆解】2026年数字化学习流:iPad 主动式电容笔的技术底层与选型实测
学习·ios·ipad·电容笔
runningshark5 分钟前
【Linux】Virtualbox 中如何给Ubuntu扩容
笔记·学习
白露与泡影14 分钟前
从零学习Kafka:ZooKeeper vs KRaft
学习·zookeeper·kafka
日拱一卒的小田14 分钟前
ZYNQ学习笔记1-裸机-PS端中断配置、IO配置及PS/PL AXI交互(2-2)
笔记·学习·microsoft
楼田莉子20 分钟前
仿muduo的高并发服务器——前置知识讲解和时间轮模块
服务器·开发语言·c++·后端·学习
小夏子_riotous25 分钟前
Docker学习路径——5、容器数据卷
linux·运维·服务器·学习·docker·容器·云计算
qeen8729 分钟前
【数据结构】队列及其C语言模拟实现
c语言·数据结构·c++·学习·队列
bigcarp29 分钟前
requests代理设置的外层协议http/https和底层协议
网络·网络协议·http
_Evan_Yao9 小时前
端口80之外:一个Java小白和HTTP、DNS、FTP、SSH的“隐秘”交手
网络协议·http·ssh
MY_TEUCK9 小时前
Sealos 平台部署实战指南:结合 Cursor 与版本发布流程
java·人工智能·学习·aigc