nodejs API

摘要:
Http请求方法:GETPOSTPUT DELETE Response状态代码:1xx:指示请求已收到并继续处理的信息;2xx:表示请求成功;400:客户端请求有语法错误,服务器无法理解;401:请求未经授权;403:服务器接收请求,拒绝提供服务,可能没有权限等;404:请求资源不存在或URL地址输入错误;503:服务器当前无法处理客户端的请求。

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/

nodejs API第1张

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

全局变量

path、process、url

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

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

免责声明:文章转载自《nodejs API》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C语言单元測试CF1290E Cartesian Tree下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS开发——你真的会用SDWebImage?

http://www.cocoachina.com/ios/20160503/16064.html 本文授权转载,作者:hosea_zhou(简书) SDWebImage作为目前最受欢迎的图片下载第三方框架,使用率很高。但是你真的会用吗?本文接下来将通过例子分析如何合理使用SDWebImage。 使用场景:自定义的UITableViewCell上有图片需要...

nginx的反向代理缓存

假设有两台物理机,他们分属于不同的域名,以webgame的游戏运营商和开发商为例,运营商需要获取游戏中的排行数据,开发商为了过多对游戏服务器的请求,会在发起请求的机器上设置缓存(或是让运营商定时过来抓取一次数据) nginx设置web缓存,需要用到的相关指令: 1、proxy_cache 2、proxy_cache_path 3、proxy_cache_v...

【移动开发】WIFI热点通信(二)

相信大家在上一篇中已经了解了Android中WIFI热点通信的相关操作知识(http://smallwoniu.blog.51cto.com/3911954/1536126),今天我们将在上一篇代码基础之上进行Socket编程,实现一个简单的多人聊天室功能,以达到热点网络上的通信目的。     首先,我们先来看一张最终效果图: <=======>...

清除微信小程序的缓存

小程序会在本地存储数据,当服务器数据更新后,通常在小程序上显示的还是旧的数据,点击右上角的关闭按钮,再次打开小程序同样没有更新。 怎样才能完全清除小程序的缓存数据? 删除小程序的方法是: 1.第一步: 打开微信的“发现”->“小程序”,这里看到使用过的小程序列表,你刚才打开的小程序就在第一个位置。在这里删除小程序就能完全清除缓存。 2. 第二步: 安...

如何构建可缓存站点

同一个资源保证URL的稳定性 URL是浏览器缓存机制的基础,所以如果一个资源需要在多个地方被引用,尽量保证URL是固定的。同时,比较推荐使用公共类库,比如Google Ajax Library等,有利于最大限度使用缓存 给Css、js、图片等资源增加HTTP缓存头,并强制入口Html不被缓存 对于不经常修改的静态资源,比如Css,js,图片等,可以设置一个...

netty实现长连接心跳检

主要逻辑: 使用netty实现长连接,主要靠心跳来维持服务器端及客户端连接。 实现的逻辑主要是: 服务器端方面: 1, 服务器在网络空闲操作一定时间后,服务端失败心跳计数器加1。 2, 如果收到客户端的ping心跳包,则清零失败心跳计数器,如果连续n次未收到客户端的ping心跳包,则关闭链路,释放资源,等待客户端重连。 客户端方面: 1, 客户端网络...