当前位置: 首页 > news >正文

http模块 - 创建Web服务以及案例

/*** 目标: 基于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://www.mrgr.cn/news/21277.html

相关文章:

  • C++隐式转换
  • TYPE-C USB设计
  • 【C++二分查找】1818. 绝对差值和
  • C#/.NET/.NET Core推荐学习路线文档文章
  • 【30天玩转python】条件语句与循环
  • 012.Oracle-索引
  • Vulkan描述符、描述符Pool、Layout概念
  • C++ | Leetcode C++题解之第390题消除游戏
  • 深度评测热门翻译工具,携手你的翻译得力助手
  • 电器维修系统小程序的设计
  • Chapter 12 Vue CLI脚手架组件化开发
  • 基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真
  • PowerMock 单元测试总结与常见坑解决方案
  • 代码随想录Day 36|滑铁卢了,leetcode题目:1049.最后一块石头的重量、494.目标和、474.一和零
  • IPC$漏洞多位密码爆破方法
  • 一分钟了解渗透测试
  • windows C++-并行编程-转换使用异常处理的 OpenMP 循环以使用并发运行时
  • 【机器学习】自然语言处理中的Transformer模型:深度解析与前沿发展
  • 使用seq_file
  • 无法让杀毒软件杀的木马