/**
* 目标: 基于http模块创建Web服务程序
*
* 1.1 加载http模块, 创建Web服务对象
* 1.2 监听request请求事件, 设置响应头和响应体
* 1.3 配置端口号并启动Web服务
* 1.4 浏览器请求: http://localhost:3000 测试
*
*/
// 加载http模块, 创建web服务对象
const http = require('http');
const server = http.createServer()
// 监听request请求事件, 设置响应头和响应体
server.on('request', (req, res) => {
// 设置响应头, 内容类型 - 普通文本以及中文编码格式
res.setHeader('Content-Type', 'text/plain;charset=utf-8')
// 设置响应体内容, 结束本次请求与响应
res.end('欢迎使用Node.js 和http模块创建的Web服务')
})
// 配置端口号并启动Web服务
server.listen(4000, () => {
console.log('启动成功');
})
// 案例 - 浏览压缩后的html页面
/**
*
* 目标: 基于Web服务, 开发提供网页资源的功能
* 步骤:
* 1. 基于http模块, 创建Web服务
* 2. 使用req.url获取请求资源路径, 并读取index.html里字符串内容返回给请求方
* 3. 其他路径, 暂时返回不存在提示
* 4. 运行Web服务, 用浏览器发起请求
*
*/
const fs = require('fs')
const path = require('path')
const http = require('http');
const server = http.createServer()
server.on('request', (req, res) => {
if (req.url === '/index.html') {
fs.readFile(path.join(__dirname, 'dist/index.html'), (err, data) => {
if(err) console.error(err)
else {
res.setHeader('Content-Type', 'text/html;charset=utf-8');
res.end(data.toString())
}
})
} else {
res.setHeader('Content-Type', 'text/html;charset=utf-8')
res.end('你要访问的资源不存在')
}
})
server.listen(3000, () => {
console.log('3000端口请求成功');
})
http模块 - 创建Web服务以及案例
怕冷的火焰(~杰)2024-09-07 9:54
相关推荐
恋猫de小郭14 分钟前
Android 官方正式官宣 AI 支持 AppFunctions ,Android 官方 MCP 和系统级 OpenClaw 雏形Moment40 分钟前
一周重写 Next.js?Cloudflare 和 AI 做到了😍😍😍CodeSheep1 小时前
同事去年绩效是C,提离职领导死活不让走,后来领导私下说他走了,就没人背这个绩效了摸鱼的春哥2 小时前
春哥的Agent通关秘籍12:本地RAG实战(中下)向量化与落库明月_清风2 小时前
毫秒级响应:前端本地搜索的“降维打击”摸鱼的春哥2 小时前
专家实验让AI做战争决策,AI的选择太暴力了明月_清风2 小时前
存储配额:用 navigator.storage.estimate() 预判浏览器什么时候会删你的数据漂流瓶jz10 小时前
BEM、OOCSS、SMACSS、ITCSS、AMCSS、SUITCSS:CSS命名规范简介陈随易14 小时前
真的,你可以不用TypeScript郑州光合科技余经理14 小时前
代码展示:PHP搭建海外版外卖系统源码解析