nodejs数据接收body-parser中间件
给大家翻译一下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请求时,请求体对应用来说是很重要的,获取请求体数据是比接收请求头部信息更难一些,请求对象
nodejs数据接收body-parser中间件的更多相关文章
- 内核中用于数据接收的结构体struct msghdr(转)
内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...
- NodeJS学习笔记之Connect中间件模块(一)
NodeJS学习笔记之Connect中间件模块(一) http://www.jb51.net/article/60430.htm NodeJS学习笔记之Connect中间件模块(二) http://w ...
- 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)
酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章) 最近手头在开发一个游戏官网,在支付模块采用神州付技术支持,神州付数据表单中要求提供服务器返回地 ...
- stm32 usb数据接收与数据发送程序流程分析
http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备 ...
- Spark Streaming 数据接收过程
SparkStreaming 源码分析 一节中从源码角度,描述了Streaming执行时代码的调用过程.下边就接收转化阶段过程再简单分析一下,为分析backpressure作准备. SparkStre ...
- UDP数据接收服务器
简介 这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测: 还支持键盘命令响应,以将数据写到新的文件, ...
- 【ALB技术笔记】基于多线程方式的串行通信接口数据接收案例
基于多线程方式的串行通信接口数据接收案例 广东职业技术技术学院 欧浩源 1.案例背景 在本博客的<[CC2530入门教程-06]CC2530的ADC工作原理与应用>中实现了电压数据采集的 ...
- 【ALB学习笔记】基于事件触发方式的串行通信接口数据接收案例
基于事件触发方式的串行通信接口数据接收案例 广东职业技术学院 欧浩源 一.案例背景 之前写过一篇<基于多线程方式的串行通信接口数据接收案例>的博文,讨论了采用轮询方式接收串口数据的情况. ...
- MVC查询数据接收及校验
本来想写一篇aspx的TreeView控件绑值的文章的,在写案例的时候,写了一半,发现有些地方还得考虑以下,就留待下次了. 这一篇的话,是最近在开发一个项目的时候,有大量的页面和数据表,需要花式查询, ...
随机推荐
- vue高级路由
1.html <script src="https://unpkg.com/vue/dist/vue.js"></script><script src ...
- C# 关于在原图中寻找子图片坐标的类
在网上找了好久,没有一个现成的例子,自己也发帖子可惜没有找到好办法. 只好自己动手写了, 以下为个人想法所写,算法可能不会太好,如果各位有好的例子发来大家一起分享一下. 这个类主要实现了图片坐标查找功 ...
- unison+inotify 同步web代码并排除指定目录不同步
unison + inotify 实现web 数据双向同步 unison 是一款跨平台的文件同步对象,不仅支撑本地对本地同步,也支持通过SSH,RSH和Socket 等网络协议进行同步.unis ...
- [MongoDB]学习笔记--Linux 安装和运行MongoDB
背景知识 MongoDB 是用C++写的, 开源的, NoSQL(Not Only SQL)文档数据库. 特点:high performance(高性能), high availability(高可靠 ...
- 《从零开始学Swift》学习笔记(Day 8)——小小常量、变量大作用
原创文章,欢迎转载.转载请注明:关东升的博客 计算机语言学习中都有常量和变量,他们几乎是我编写代码的灵魂了,离开他们我真的是“活不了” 常量是标识符的前面加上关键字let.常量其值在使用过程中不会 ...
- 巨蟒python全栈开发linux之centos4
1.linux虚拟环境1-4 2.linux运行crm代码
- Nuxt使用scss
Nuxt中使用scss也很简单,分简单的几步就OK 一.安装scss依赖 用IDE打开项目,在Terminal里通过 npm i node-sass sass-loader scss-loader - ...
- Python迭代器包itertools(转)
原文:http://www.cnblogs.com/vamei/p/3174796.html 作者:Vamei 在循环对象和函数对象中,我们了解了循环器(iterator)的功能.循环器是对象的容器, ...
- MySQL中Cardinality值的介绍
1) 什么是Cardinality 不是所有的查询条件出现的列都需要添加索引.对于什么时候添加B+树索引.一般的经验是,在访问表中很少一部分时使用B+树索引才有意义.对于性别字段.地区 ...
- 正确使用索引(sql优化),limit分页优化,执行计划,慢日志查询
查看表相关命令 - 查看表结构 desc 表名- 查看生成表的SQL show create table 表名- 查看索引 show index from 表名 使用索引和不使用索引 由 ...