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
您可能感兴趣的文章: