Hello, 码小课欢迎您!
这是一个简单的HTTP服务器。
'); }); // 监听端口3000 server.listen(3000, () => { console.log('服务器运行在 http://localhost:3000/'); }); ``` 这段代码首先通过`require('http')`引入了Node.js的HTTP模块,然后创建了一个HTTP服务器。服务器通过`createServer`方法接收一个回调函数,该回调函数有两个参数:`req`(请求对象)和`res`(响应对象)。在回调函数中,我们设置了响应的状态码为200(表示请求成功),并指定了响应的内容类型为`text/html`。接着,我们通过`res.end()`方法发送了一个简单的HTML字符串作为响应体。最后,我们通过`server.listen()`方法让服务器监听3000端口,并在控制台打印出服务器的运行地址。 ### 第四步:运行HTTP服务器 保存`server.js`文件后,回到命令行工具,在项目目录下执行以下命令来启动你的HTTP服务器: ```bash node server.js ``` 如果一切设置正确,你将在命令行中看到“服务器运行在 http://localhost:3000/”的提示信息。此时,打开你的网页浏览器,访问`http://localhost:3000/`,你将看到页面上显示“Hello, 码小课欢迎您!”和“这是一个简单的HTTP服务器。”的文本。 ### 第五步:扩展你的HTTP服务器 现在,你已经成功创建并运行了一个基本的HTTP服务器。但真正的项目往往比这更复杂。接下来,我们可以扩展这个服务器,使其能够处理不同的HTTP请求方法(如GET、POST)和不同的URL路径。 #### 处理不同的URL路径 你可以通过检查`req.url`属性来判断请求的URL路径,并据此返回不同的响应。例如,我们可以为根路径`/`和`/about`路径设置不同的响应: ```javascript const http = require('http'); const server = http.createServer((req, res) => { if (req.url === '/') { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('首页
欢迎来到码小课。
'); } else if (req.url === '/about') { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('关于我们
码小课,专注于编程教学。
'); } else { res.writeHead(404, {'Content-Type': 'text/html'}); res.end('404 Not Found
请求的资源未找到。
'); } }); server.listen(3000, () => { console.log('服务器运行在 http://localhost:3000/'); }); ``` #### 处理POST请求 处理POST请求稍微复杂一些,因为你需要从请求体中读取数据。Node.js的HTTP模块本身并不解析请求体,但你可以使用第三方库如`express`或`body-parser`(在Express中)来简化这个过程。不过,为了保持示例的简单性,这里我们仅展示如何接收原始请求体数据的一个基本框架: ```javascript const http = require('http'); const server = http.createServer((req, res) => { if (req.method === 'POST') { let body = ''; req.on('data', chunk => { body += chunk.toString(); // 将接收到的数据块转换为字符串并累加 }); req.on('end', () => { console.log(body); // 处理完所有接收到的数据块后,body变量包含了完整的请求体 // 这里可以添加代码来解析body(如JSON)并发送响应 res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('POST请求体已接收'); }); } else { // 处理GET请求等其他情况... } }); server.listen(3000, () => { console.log('服务器运行在 http://localhost:3000/'); }); ``` ### 第六步:总结与展望 至此,你已经成功创建并扩展了一个简单的HTTP服务器。虽然这个服务器还很基础,但它为你打开了Node.js和Web开发的大门。随着你对Node.js和HTTP协议的进一步学习,你可以探索更多高级特性,如路由管理、中间件使用、静态文件服务、数据库交互等。 “码小课”作为你的学习伙伴,提供了丰富的编程教学资源,帮助你从入门到精通,掌握更多实用技能。无论是Node.js还是其他编程语言和技术栈,都能在“码小课”找到适合你的学习路径。继续加油,未来的编程大师!