node_api学习之http

时间:2022-08-08 07:13:01

node模块学习-http

理解

HTTP构建于TCP之上,属于应用层协议,继承自tcp服务器(net模块),它能与多个客户端保持连接,由于基于事件驱动,并不为每个连接创建额外的进程或线程,所以能实现高并发;HTTP服务器与TCP服务器有区别的地方在于,在开启keepalive后,一个tcp会话可以用于多次请求和响应。TCP服务是以connection为单位进行服务,HTTP是以request为单位进行服务,HTTP模块就是将connection到request的过程进行了封装。

http模块将连接所用的套接字的读写抽象为serverRequest和serverResponse对象,他们分别对应请求和响应。在请求产生过程中,http模块拿到连接中的数据,调用二进制模块http_parser进行解析,解析玩报文的报头后,触发request事件,调用用户的业务逻辑。