给大家翻译一下npm上body-parser的资料
nodejs 的body数据解析中间件
插件作用:对于req.body属性,在操作数据前分析进来的请求体的插件
首先学习解析一个http处理
这篇文章的目的是为了传授对nodejs http处理过程的理解。我们假设你对http请求怎么工作有一般的理解,不管语言和编程环境。如果你对nodejs的事件对象和流都不太熟悉,那么有必要快速阅读每个API文档。
创建服务器
任何node web应用在某些时候都必须穿件一个web服务对象,这是通过使用createServer来完成的。
const http=require("http");
const server=http.createServer((reqest,response)=>{
//魔法在这里发生
})
这个传递到createServer里面的方法被每一次http请求执行,所以被叫做请求处理程序。实际上,服务器对象返回的createServer是一个事件队列,我们在这只是创建一个服务器对象,并且添加监听器,
const server=http.createServer();
server.on("request",(request,response)=>{
//代码写这里
})
当这个服务器接收到一个http请求,node执行请求操作方法,操作方法中包括一些关于http请求的方便的方法,我们很快就会去学这些。
为了实际的服务器请求,监听方法需呀被服务器对象调用,在很多例子中,你所需要做的就是传递给监听器你想传递的东西,当然还有一些其他的参数,请参考API。
方法,url和操作函数
当接收到一个请求,你需要做的第一件事件是查看请求的方法是get还是post,还有请求的url路径,这样合适的后续动作才能被启用,node通过在request对象上挂一些属性来完成查看请求的方法和路径。
cons {method,url}=request;
这个request是http请求新的实例。
这里的方法是普通的http方法,url是不包含服务器ip、端口和协议的全路径,对于一个典型的url,这些意味着包含端口号后面的一切,包含反斜杠
操作方法
const {header}=request;
const userAgent=headers['user-agent'];
这里提醒一下:所有的头部信息都是小写字母表示,不管客户端实际上怎么发送的,这就简化了解析头部的目的,
请求体
当收到post或put请求时,请求体对应用来说是很重要的,获取请求体数据是比接收请求头部信息更难一些,请求对象