构建web应用

2018-07-30  本文已影响10人  励志摆脱懒癌的少女酱

简介

  1. request事件
      request事件发生于网络连接建立,客户端向服务器端发送报文,服务器端解析报文,发现HTTP请求的报头时。
  2. request事件侦听器:高阶函数
      传递给createServer()方法一个function(req,res){}这类函数做参数即可。


    Express的原理即是如此:app就是一个函数作为request事件的侦听者

基础功能

  1. 请求方法:req.method;
  2. 路径解析:req.url;Node提供url模块—url.parse();
  1. 查询字符串:?x1=x&x2=x;Node提供querystring模块将其转为JSON对象—querystring.parse(url.parse(req.url).query);=== url.parse(req.url, true).query;若字符串中的键出现了多次,它的值是一个数组;
  2. cookie:标识和认证一个用户
  3. session(有效期通常20min):解决cookie敏感数据的保护无效问题(前端可以通过document.cookie修改)—存于服务器端,数据安全性得到一定保障,而且数据也无须在协议中每次都被传递;
    (1)session与内存:采用专门的缓存服务—redis、memcached等;
  1. 缓存
  2. Basic认证
  3. 数据上传:http模块只对http报文的头部进行了解析,然后触发request事件,其内容部分通过data事件触发,以流的方式处理—将接收到的Buffer列表转化为一个Buffer对象后,再转为没有乱码的字符串;
    (1)表单数据:请求头:Content-Type: application/x-www-form-urlencoded;其报文体内容与查询字符串相同,通过querystring.parse()解析
    (2)JSON文件:请求头:Content-Type: application/json;使用JSON.parse()处理;
    (3)XML文件:请求头:Content-Type: application/xml;通过xml2js库将xml文件转为json对象:xml2js.parseString
    XML文件解析
  4. 附件上传
  1. 数据上传与安全
    (1)内存限制
上一篇 下一篇

猜你喜欢

热点阅读