龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

NodeJS学习笔记之网络编程_node.js(2)

时间:2014-08-09 12:04来源:网络整理 作者:网络 点击:
分享到:
request :建立TCP连接后,http模块底层将数据流中抽象出HTTP请求和HTTP响应,当请求数据发送到服务端,在解析出HTTP请求头后触发该事件;在res.end()后,TC

request :建立TCP连接后,http模块底层将数据流中抽象出HTTP请求和HTTP响应,当请求数据发送到服务端,在解析出HTTP请求头后触发该事件;在res.end()后,TCP连接可用于下一次请求。

close :调用server.close方法停止接收新的连接,已有的连接都断开时触发该事件。

checkContinue :某些客户端在发送较大数据时,先发送一个头部带有Expect: 100-continue的请求到服务器,服务触发该事件;

connect :当客户端发起CONNECT请求时触发

upgrade :当客户端要求升级连接的协议时,需要和服务端协商,客户端会在请求头中带上Updagrade字段

clientError :连接的客户端发送错误,错误传到服务端此时触发该事件

(4) HTTP客户端

http模块提供http.request(options, connect),用于构造HTTP客户端。

HTTP客户端和服务端类似,在ClientRequest对象中,它的事件叫做response,ClientRequest在解析响应报文的时,一解析完响应头就触发response事件,同时传递一个响应对象ClientResponse供操作,后续响应报文以只读流的方式提供。

(5) HTTP客户端事件

response :与服务端的request事件对应的客户端在请求发出后得到响应时触发该事件。

socket :当底层连接池中建立的连接分配给当前请求对象时触发;

connect :当客户端向服务器发送CONNECT请求时,若服务端响应了200状态码,客户端将会触发该事件。

upgrade :客户端享服务端发送Upgrade请求时,若服务端响应了101 Switching Protocols状态,客户端将会触发该事件。

continue :客户端向服务端发起Expect: 100-continue头信息后,以试图发送较大数据,若服务端响应100 continue状态,服务端将触发该事件

WebSocket服务

WebSocket最早是作为HTML5重要特性出现的,相比HTTP有以下优点:

(1) 客户端和服务端只建立一次TCP连接,可以使用更少的连接

(2) WebSocket服务端可以推送数据到客户端,这远比HTTP请求响应模式更灵活、更高效

(3) 更轻量级的协议头,减少数据传输

Node中没有内置WebSocket的库,但社区的ws模块封装了WebSocket的底层实现如著名的socket.io

精彩图集

赞助商链接