给大家翻译一下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中间件的更多相关文章

  1. 内核中用于数据接收的结构体struct msghdr(转)

    内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...

  2. NodeJS学习笔记之Connect中间件模块(一)

    NodeJS学习笔记之Connect中间件模块(一) http://www.jb51.net/article/60430.htm NodeJS学习笔记之Connect中间件模块(二) http://w ...

  3. 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)

    酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)   最近手头在开发一个游戏官网,在支付模块采用神州付技术支持,神州付数据表单中要求提供服务器返回地 ...

  4. stm32 usb数据接收与数据发送程序流程分析

    http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备 ...

  5. Spark Streaming 数据接收过程

    SparkStreaming 源码分析 一节中从源码角度,描述了Streaming执行时代码的调用过程.下边就接收转化阶段过程再简单分析一下,为分析backpressure作准备. SparkStre ...

  6. UDP数据接收服务器

    简介 这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测: 还支持键盘命令响应,以将数据写到新的文件, ...

  7. 【ALB技术笔记】基于多线程方式的串行通信接口数据接收案例

    基于多线程方式的串行通信接口数据接收案例 广东职业技术技术学院  欧浩源 1.案例背景 在本博客的<[CC2530入门教程-06]CC2530的ADC工作原理与应用>中实现了电压数据采集的 ...

  8. 【ALB学习笔记】基于事件触发方式的串行通信接口数据接收案例

    基于事件触发方式的串行通信接口数据接收案例 广东职业技术学院  欧浩源 一.案例背景 之前写过一篇<基于多线程方式的串行通信接口数据接收案例>的博文,讨论了采用轮询方式接收串口数据的情况. ...

  9. MVC查询数据接收及校验

    本来想写一篇aspx的TreeView控件绑值的文章的,在写案例的时候,写了一半,发现有些地方还得考虑以下,就留待下次了. 这一篇的话,是最近在开发一个项目的时候,有大量的页面和数据表,需要花式查询, ...

随机推荐

  1. Linux make语法

    make是一种控制编译或者重复编译软件的工具. make可以自动关键软件的编译内容.方式和时机,从而使程序员把更多的精力集中在编写代码上. make主要的机制是在命令行键入make命令,make会自动 ...

  2. Java基础 - 强引用、弱引用、软引用、虚引用

    1.强引用(StrongReference) 强引用是使用最普遍的引用. 假设一个对象具有强引用.那垃圾回收器绝不会回收它.例如以下: [java] view plaincopyprint" ...

  3. linux oracle 配置监听器

    参考:http://database.51cto.com/art/201010/231338.htm 服务端: 1.增加一个listener:终端运行: $ORACLE_HOME/bin/netca ...

  4. 服务器之ECC报错检查

    需要使用ipmitool工具 [root@Resource ~]# yum install ipmitool 首先查看是否有ecc报错 如下图: [root@Resource ~]# ipmitool ...

  5. PHPthinking邀请您一起赚Money

    原文地址:http://bbs.phpthinking.com/thread-790-1-1.html 为了让大家工作或者学习之余.可以赚些money,PHPthinking为大家推荐一个赚钱的站点! ...

  6. hdu 5471(状压DP or 容斥)

    想了最复杂的思路,用了最纠结的方法,花了最长的时间,蒙了一种规律然后莫名其妙的过了. MD 我也太淼了. 后面想了下用状压好像还是挺好写的,而且复杂度也不高.推出的这个容斥的规律也没完全想透我就CAO ...

  7. EasyNVR内网摄像机接入网关+EasyNVS云端管理平台,组件起一套轻量级类似于企业级萤石云的解决方案

    背景分析 对于EasyNVR我们应该都了解,主要应用于互联安防直播,对于EasyNVR,我们可以清楚的发现,EasyNVR的工作机制是EasyNVR拉取摄像机的RTSP/Onvif视频流,然后客户端可 ...

  8. 检验指定路径的文件是否存在ftp服务器中

    import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache. ...

  9. HTML随意记录

    HTML特殊符号对照表: http://www.cnblogs.com/knowledgesea/archive/2013/07/24/3210703.html

  10. Docker selinux

    编辑/etc/sysconfig/docker文件,把OPTIONS='--selinux-enabled'的--selinux-enabled注释掉,也可以通过这个错误. 最大的问题就是Linux的 ...