服务器和Express

网络通讯概述

网络通信三大要素: 协议,域名(IP),端口号

通过ip找到计算机,再通过端口找到应用程序,符合规则就可进行数据传输。 传输协议:规定数据传输的规则,http或https或file;前端目前只接触这三项。 网络通讯的格式; 请求报文/响应报文; 域名或 IP:电子设备(计算机,服务器)在网络中的唯一标识。 localhost代表本机地址; 127.0.0.1代表本机地址; 端口:应用程序在计算机中的唯一标识。0~65535之间,0~1023的端口可能被系统占用。 80是 http 用; 443是 https 用;

express 介绍

  • Express 是一个第三方模块,用于快速搭建服务器(替代http模块)

  • Express 是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架

  • Express保留了http模块的基本API,使用express的时候,也能使用http的API

  • 使用express的时候,仍然可以使用http模块的方法,比如 res.end()、req.url
  • express还额外封装了一些新方法,能让我们更方便的搭建服务器

  • express提供了中间件功能,其他很多强大的第三方模块都是基于express开发的

  • Express 官网

  • Express 中文文档(非官方)

使用Express构造Web服务器

使用Express构建Web服务器步骤:

 加载 express 模块

 创建 express 服务器

 开启服务器

 监听浏览器请求并进行处理

// 1.创建项目文件夹:   02_express
// 2.初始化    项目:   npm   init  -y
// 3.安装第三方模块:   npm   i   express@4.17.1

// 4.导入
const express = require('express');
// 5.创建实例对象
const app = express();

// 启动服务
app.listen(3006, () => {
    console.log('http://localhost:3006');
})

编写端口

// 6.编写接口  -  req.method   req.url
app.get('/api/getbooks', (req, res) => {
    // 原生 http 模块中req上的属性
    console.log(req.method, req.url);
    // 原生 http 模块中res上的方法
    res.send('获取图书列表成功!');
});
app.post('/api/addbook', (req, res) => {
    res.send('添加图书成功!');
});

响应头设置

// 设置响应状态码
res.status(201);
// 设置其他响应头
res.set({
    "Content-Type": "application/json"
});

请求参数接收

1.请求路径中的参数,根据所在位置不同有两种:查询参数和路由参数;(get/delete常用)

查询参数: req.query ​ 路由参数: req.params

2.请求体参数一种,但是传递参数的类型,常见的有三种;(post/put常用)

请求体参数: req.body;

获取请求体参数需要配置一句话,三种类型对应三种不同的配置方式: ​ app.use( express.urlencode() ); 对应 content-type: application/x-www-form-urlencoded app.use( express.json() ); 对应 content-type: application/json const upload = multer({ dest: 'uploads/' }); (需要下载) ​ app.use( upload.single('avatar') ); 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值