node.js基础学习-http模块-创建HTTP服务器、客户端(一)
//使用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>`
}