Node.js中构建TCP网络连接和搭建HTTP服务器有什么不同?
在node中,我们可以用require(‘net’)模块搭建个TCP,用http模块搭建http服务器,而且两者都是可以向远端服务器发送客户端请求,也可以作为服务器来接受请求,响应请求,那么两者在那些方面有这不同呢?
小白一枚,在看了node的一些文档后有这个疑问,对于TCP不是很熟悉,如果有大神来解答下的话,不甚感激。。。。。
2 回复
你这个也和node,没什么关系啊,都是协议上的问题,tcp是一种基于字节的可靠连接,而http是一种在tcp上面建立的服务协议,http是应用层的,而tcp是传输层的,但从你目前接个请求做出响应可能是差不多,但是tcp没有http那么多的控制,比如长连接这些的http head,你总不能自己在工程中去用tcp自己实现,符合标准都还是另外一回事了,包括像http的状态消息,HTTP是为应用而生的,所以有更多的控制力,tcp当然更灵活和底层一点,但是如果你不进行协议开发,也不用作高性能的游戏服务器的话,从web角度来看,还是http更适用一些 自豪地采用 CNodeJS ionic
http是大包,里面包的小包net 很明显只传小包 性能更高,支持的并发更多,也需要你自己实现的工作也更多