node.js之HTTP模块
2021/5/31 14:20:56
本文主要是介绍node.js之HTTP模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
安装方式
1.我们学任何一门语言如果不会怎么办当然是去他的官网下面是官网地址https://nodejs.org
2.***淘宝镜像https://npm.taobao.org/mirrors/node***这里面有这个node的js安装包
3.Windows安装https://nodejs.org/zh-cn/download/
安装完毕后 打开cmd
- 执行node -v就会显示版本这样则安装成功
下面我们了解一下Nodejs是什么我们看一下官方说法
作为异步事件驱动的JavaScript运行时,Node旨在构建可伸缩的网络应用程序。 在下面的“hello world”示例中,可以同时处理许多连接。 在每次连接时都会触发回调,但是如果没有工作要做,Node将会休眠。
NodeJs是否是单线程
不是,主线程Javascript线程是单线程,libuv提供线程池,NodeJs不仅仅是一个Javascript引擎,而是一套运行时,不能将Javascript线程孤立出来。
NodeJs优缺点以及适合的场景
由于主线程Javascript线程是单线程,所以主线程不能做CPU密集操作(比如什么加解密之类的,这种操作只能有Javascript线程运行,会阻塞事件循环),所以NodeJs适合I/O密集场景,比如常见的(TCP/HTTP服务器)
对于前端开发者来说,几乎没有语言门槛
跨平台,NodeJs在主流操作系统都有对应的二进制程序
标准库强大,第三方库也很多,降低了造轮子成本
易于部署,服务器安装一个NodeJs程序配合NPM包管理器即可运行,不用像PHP那样还要安装扩展,配置前端HTTP服务器
步骤
第一步导入http模块
const http = require("http");
第二部创建http服务
const server = http.createServer((request, response) => { })
第三部开启服务器(开启监听)
server.listen("4399",() => { console.log("success"); })
下面来实操一下
1.创建index.js
2.编写代码
const http = require('http'); const server = http.createServer((req, res) => { console.log(req.method, req.url) //req.method 本次请求的请求方法,有GET/POST/PUT //req.url 本次请求的路径(不包含域名) res.end("你好") //res.end 输出数据并结束本次响应 }) server.listen(8080, () => console.log('listen on 8080'))
代码说明
1.require 用来加载模块,本例中加载了NodeJs自带的http模块以使用其中的功能
2.http.createServer函数创建了一个 HTTP服务器,并配置了请求回调函数
3.server.listen是监听系统端口,第二个参数是监听成功的回调函数
执行方式
1.打开终端后执行node index.js
2.浏览器访问http://127.0.0.1:8080/ 会输出我走过最远的路便是你的套路
3.如果乱码怎么办
4.乱码解决 方法 再createServer函数内部添加response.setHeader(“content-type”, “text/html;charset=utf-8”)就好了
请求路由
const http = require('http'); const server = http.createServer((req, res) => { if (req.url === '/') { res.end('index'); return; } if (req.url === '/user') { res.end('user'); return; } }) server.listen(8080, () => console.log('listen on 8080'));
解析
- 执行node index.js
2 .浏览器访问http://127.0.0.1:8080/会输出index
3 .浏览器访问 http://127.0.0.1:8080/user 会输出user
这篇关于node.js之HTTP模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28基于Python+Vue开发的口腔牙科预约管理系统
- 2024-09-28基于Python+Vue开发的酒店客房预订管理系统
- 2024-09-27使用js将ETH账户的资产打散其他账户web3
- 2024-09-27我轻松地将我的 React.js 应用程序翻译成了多种语言。下面是我是如何做到的... ??
- 2024-09-27?? 使用 useMemo 和 useCallback 加速 React:告别缓慢的重新渲染!??
- 2024-09-27Vue CLI多环境配置教程:新手入门指南
- 2024-09-27Vue CLI多环境配置教程:快速入门指南
- 2024-09-27Vue CLI教程:新手入门指南
- 2024-09-27Vue CLI教程:初学者快速入门指南
- 2024-09-27Vue3公共组件教程:入门与实践