nodejs API

1、querystring参数处理

序列化
> querystring.stringify({'name':'scott',course:['jade','node'],from:''})
'name=scott&course=jade&course=node&from='
> querystring.stringify({'name':'scott',course:['jade','node'],from:''}, ',')
'name=scott,course=jade,course=node,from='
> querystring.stringify({'name':'scott',course:['jade','node'],from:''}, ',', ':
')
'name:scott,course:jade,course:node,from:'
反序列化
> querystring.parse('name=scott&course=jade&course=node&from=')
{ name: 'scott', course: [ 'jade', 'node' ], from: '' }
转义
> querystring.escape('你好')
'%E4%BD%A0%E5%A5%BD'
反转义
> querystring.unescape('%E4%BD%A0%E5%A5%BD')
'你好'

 2、http

从浏览器输入网址或F5刷新页面,首先进行域名解析:

(1)浏览器搜索自身的DNS缓存

(2)搜索操作系统自身的DNS缓存(浏览器没有找到自身缓存或缓存已失效)

(3)读取本地的host文件(如果2步骤没有找到域名的ip)

(4)浏览器发起一个DNS的一个系统调用(如果步骤3没有找到域名的ip)

(5)浏览器获得域名对应的ip地址后,发起http“三次握手”

(6)TCP/IP连接建立起来以后,浏览器就可以向服务器发送请求

(7)服务器端接收到请求后,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器

(8)浏览器拿到某个网站完整的HTML页面代码,在解析和渲染这个页面的时候,页面的js、css、图片静态资源,也同样是一个个http请求,需要经过上面的主要步骤。

 http请求方法:GET POST PUT(更新) DELETE(删除)...

响应的状态码:1xx:指示信息,表示请求已经接收,继续处理;2xx:表示请求成功;

400:客户端请求有语法错误,服务器端不能理解;

401:请求没有授权;

403:服务器端收到请求,拒绝提供服务,可能没有权限等;

404:请求资源不存在或是URL地址输入错误;

503:服务器端当前不能处理客户端的请求。

3、http上下文、作用域

上下文与this有关,是调用当前可执行代码的引用。

4、

http性能测试 Apache自带的ab

>ab -n1000 -c10 http://localhost:8888/

 

 

 ////////////////////////////

全局变量

path、process、url

////////////////////////////

self.emit('request', req, res);

posted @ 2016-01-05 22:30  tianxintian22  阅读(329)  评论(2编辑  收藏  举报