目录
网络通讯概述
请求一个网站的基本流程
网络通信三大要素:协议,域名(IP),端口号
通过ip找到计算机,再通过端口号找到应用程序,符合规则就进行数据传输
传输协议:规定数据传输的规则,http或https或file;前端目前只接触这三项
网络通讯的格式; 请求报文 / 响应报文;
域名或IP:电子设别(计算机,服务器)再网络中的唯一标识
localhost代表本机地址; 127.0.0.1代表本机地址;
端口号:应用程序再计算机中的唯一标识。0~65535之间,0~1023的端口可能被系统占用。
80是http用; 443是https用
express框架
express框架介绍
1、Express 是一个第三方模块,用于快速搭建服务器(替代http模块)
2、Express 是一个基于Node.js平台,快速、开发、极简的web开发框架
3、Express保留了http模块的基于API,使用express的时候,也能使用http的API,比如res.end()、req.url
4、Express 还额外封装了一些新方法,能让我们更方便的搭建服务器
5、Express 提供了中间件功能,其他很多强大的第三方模块都是基于express开发的
6、参考官方网站:
Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架https://www.expressjs.com.cn/
使用步骤
1、先初始化 npm init -y
2、安装第三方模块: npm i express@4.17.1
3、加载 express模块
4、创建express实例,声明一个app变量来接收
5、编写接口
6、指定端口号,启动服务
express中的send方法
1、send方法,用于做出响应
2、send方法的优点:
send方法会自动讲对象格式转为JSON格式
send会根据响应体,自动设置Content-Type 响应头格式
3、send不能响应数字
响应头和请求参数
响应头设置
1、设置响应状态码 :res.status() ; 可以设置响应状态码,200,201,301,305,307等
2、设置响应头:res.set({属性:值 });Conttent-Type 等;application/json text/plain 等
请求参数接收
1、参数写到地址中:
2、参数写到请求体中:
请求参数接收
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') ); 对应 multipart/form-data (了解)
开放静态资源
想把某些http/css/js,图片,音频,视频等静态资源发送给客户端,只需要设置一句 express的内置中间件即可;
app.use(express.static(路径));