node使用http模块

这篇具有很好参考价值的文章主要介绍了node使用http模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

提示:这里可以添加本文要记录的大概内容:


一、创建http服务

// 1:导入http模块
const http = require('http')

// 2:创建服务器
//  req  request    请求对象    存储请求的报文信息(请求路径,方法,参数)
//  res  response   响应对象     负责响应客户端的数据
const serve = http.createServer((req, res) => {
    res.end('hello word')
})

// 3:监听端口,启动服务
/**
* 参数说明
* @param {type}  port  端口号
* @param {type}  hostname(非必填) 主机号(ip地址) 不写默认是本机ip
        *ip 网线在网络中的唯一地址 ,(相当于是人的身份证)
        端口号 每一个电脑都有很多应用程序,而每个应用程序都有一个编号称之为端口号,识别是哪个应用程序发送的请求
* @param {type}  callback 回调函数
*/
serve.listen(9000, () => {
    console.log('服务器已经启动了');
})

node使用http模块,node,http,网络协议,网络

二、设置http的响应报文

// 1:导入http模块
const http = require('http')

const serve = http.createServer((req, res) => {
    // 1:设置响应体(重点)
    // 注意点:rep.end()只能响应字符串和二进制两种数据,否则程序会出错
    //(1)如果想返回对象类型,转成json字符串
    //(2)end方法一次只能响应一个
    res.end(JSON.stringify({
        name:'张三',
        age:18
    }));
    // 2:设置响应状态码
    res.statuseCode = 209;
    // 3:设置响应状态的描述
    res.statusMessage = '描述'
    // 4:设置响应头
    res.setHeader('header')
    
})

serve.listen(9000, () => {
    console.log('服务器已经启动了');
})

node使用http模块,node,http,网络协议,网络

三、不同请求响应不同数据

注意点:解决乱码问题:res.setHeader(‘Content-Type’,‘text/plain;charset=utf8’);


// 1:导包
const http = require('http');
// 2:创建服务器
const server = http.createServer((req, res) => {
    console.log(req.url);
    if (req.url == '/') {
        // 解决乱码问题
        res.setHeader('Content-Type','text/plain;charset=utf8');
        res.end('首页')
    } else if (req.url == 'index') {
        res.setHeader('Content-Type','text/plain;charset=utf8');
        res.end('首页')
    } else if (req.url == 'login') {
        res.setHeader('Content-Type','text/plain;charset=utf8');
        res.end('登录成功')
    }
})

server.listen(9000, () => {
    console.log('服务器开启成功');
})

node使用http模块,node,http,网络协议,网络
node使用http模块,node,http,网络协议,网络

四、请求响应不同html文件

1. 添加www文件夹

文件夹中加上index.html、login.html、404.html文件

node使用http模块,node,http,网络协议,网络

2. js代码


// 1:导包
const fs = require('fs');
const http = require('http');
const path = require('path');
// 2:创建服务器
const server = http.createServer((req, res) => {
    console.log(req.url);
    if (req.url == '/' || req.url == '/index') {
        // 拼接绝对路径
        fs.readFile(path.join(__dirname, 'www', 'index.html'), (err,data)=> {
            if (err) {
                throw err;
            } else {
                // 解决乱码问题
                res.setHeader('Content-Type','text/plain;charset=utf8');
                res.end(data)
            }
        })
    } else if (req.url == '/login') {
        fs.readFile(path.join(__dirname, 'www', 'login.html'), (err,data)=> {
            if (err) {
                throw err;
            } else {
                // 解决乱码问题
                res.setHeader('Content-Type','text/plain;charset=utf8');
                res.end(data)
            }
        })
    } else{
        fs.readFile(path.join(__dirname, 'www', '404.html'), (err,data)=> {
            if (err) {
                throw err;
            } else {
                // 解决乱码问题
                res.setHeader('Content-Type','text/plain;charset=utf8');
                res.end(data)
            }
        })
    }
})

server.listen(9000, () => {
    console.log('服务器开启成功');
})

3. 效果

node使用http模块,node,http,网络协议,网络

五、get和post请求的区别

(1)作用:get主要用来获取数据,post用来提交数据。
(2)参数位置:get参数在url后面,post在请求体里面。
(3)安全性:由于get参数在url上会暴露,所以post更安全。
(4)请求限制:get一般为2k,post没有限制。文章来源地址https://www.toymoban.com/news/detail-744916.html

到了这里,关于node使用http模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node的http模块

    一、JSON数据 1、什么是JSON:JavaScript Object Notation,是一种轻量级的前后端数据交互的格式(数据格式) 2、特点 (1)容易阅读和编写 (2)语言无关性:和任何的开发没有关系 (3)便于编译、解析 3、语法要求 (1) 是key-value :一个键对应一个值 (2)每个数据项之间用逗号

    2023年04月09日
    浏览(43)
  • NODE笔记 1 http模块

    简单的http模块也包含https模块的简单介绍,应用,补充模块化内容 目录 前言 一、http模块 简单使用  0.基础用法 1.获取请求信息 二、 https模块练习 0. 使用https模块向接口发送请求  1.引入axios库发送 https请求 2.基础补充:模块化 与 npm包管理 模块化 npm包管理 总结 简单介绍并

    2024年01月15日
    浏览(37)
  • Node学习笔记之HTTP 模块

    回顾:什么是客户端、什么是服务器? 在网络节点中,负责消费资源的电脑,叫做 客户端 ;负责对外提供网络资源的电脑,叫做 服务器 。 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,

    2024年02月08日
    浏览(57)
  • 【node.js】03-http模块

    目录 一、什么是http模块 二、创建基本的WEB服务器 三、req请求对象 四、res响应对象 五、根据不同的url响应不同的JSON内容         http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一

    2024年02月15日
    浏览(83)
  • node.js的http模块

    http协议 :超文本传输协议(互联网应用最广泛的协议之一) http请求方法: get获取数据 post新增数据 put/patch更新数据 delete删除数据 head/options/connect/trace URL 统一资源定位符,其本身也是一个字符串。 在网络节点中,负责消费资源的电脑,叫做客户端。 负责对外提供网络资源

    2024年02月08日
    浏览(93)
  • Node.js http 模块详解:request 对象

    前文介绍了 http 模块的基本用法,主要就是调用 createServer 和 listen 方法来创建和启动服务。要处理具体的 HTTP 请求,就要在 createServer 方法中写点什么。本文来介绍处理请求的两个核心对象之一的 request 。 HTTP 协议最早设计出来,仅仅为了获取网络上的某个 HTML 文档。随着后

    2024年02月08日
    浏览(58)
  • Node.js HTTP 模块的内存泄露问题

    很久没有逛社区了,晚上回来看了一下最近的情况,突然看到一个内存泄露问题,作为一个 APM 开发者,自然想分析其中的原因。 下面介绍一下具体的问题。看一下 demo。 Node.js v20.3.1 下执行上面代码(node --expose-gc demo.js)输出如下。 可以看到内存不断在增长。下面来分析这

    2024年02月12日
    浏览(73)
  • 【Node.js学习 day3——http模块】

    命令行 ctrl + c 停止服务 当服务启动后,更新代码必须 重启服务才能生效 响应内容中文乱码的解决办法 端口号被占用 关闭当前正在运行监听端口的服务(使用较多) 修改其他端口号 HTTP协议默认端口是80。HTTP服务开发常用端口有3000,8080,8090,9000等。 想要获取请求的数据,需

    2024年02月02日
    浏览(54)
  • Node.js-fs、path、http模块

    Node.js 作为一个JavaScript 的运行环境,仅仅提供了基础的功能和 AP1。然而,基于 ode.s 提供的这些基础能,很多强大的工具和框架如雨后春笋,层出不穷,所以学会了 Nodejs,可以让前端程序员胜任更多的工作和岗位: 基于Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用

    2024年02月04日
    浏览(55)
  • Node.js 学习笔记 fs、path、http模块;模块化;包;npm

    教学视频 BV1MN411y7pw , P83-97的笔记 Node.js是一个跨平台JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序。 作用:使用 Node.js 编写服务器端程序 ✓ 编写数据接口,提供网页资源浏览功能等等 ✓ 前端工程化:为后续学习 Vue 和 React 等框架做铺垫 1.前端工程化 前

    2024年04月08日
    浏览(88)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包