Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用HTTP与原始TCP在应用程序和后端之间通信_Node.js_Mongodb_Http_Tcp - Fatal编程技术网

Node.js 使用HTTP与原始TCP在应用程序和后端之间通信

Node.js 使用HTTP与原始TCP在应用程序和后端之间通信,node.js,mongodb,http,tcp,Node.js,Mongodb,Http,Tcp,我是一个全新的应用程序开发人员。我有一个iOS应用程序,它将通过JSON与后端服务器(主要是node.js/MongoDB)通信。我知道大多数应用程序都使用HTTP POST/GET发送/接收数据,但我想知道如果我使用原始TCP连接并使用自己的轻量级协议通过该连接进行通信,是否可以减少发送/接收数据的HTTP开销。在这种情况下不使用HTTP有什么缺点?从程序员的角度来看,HTTP(S)客户端更易于使用;在大多数语言中,使用TCP流需要更多的工作;您必须自己处理错误和连接 此外,当大多数HTTPS

我是一个全新的应用程序开发人员。我有一个iOS应用程序,它将通过JSON与后端服务器(主要是node.js/MongoDB)通信。我知道大多数应用程序都使用HTTP POST/GET发送/接收数据,但我想知道如果我使用原始TCP连接并使用自己的轻量级协议通过该连接进行通信,是否可以减少发送/接收数据的HTTP开销。在这种情况下不使用HTTP有什么缺点?

从程序员的角度来看,HTTP(S)客户端更易于使用;在大多数语言中,使用TCP流需要更多的工作;您必须自己处理错误和连接

此外,当大多数HTTPS客户端和服务器都带有扩展的身份验证和加密选项时,您必须自己关心传输安全

从程序员的角度来看,HTTP(S)客户端更易于使用;在大多数语言中,使用TCP流需要更多的工作;您必须自己处理错误和连接

此外,当大多数HTTPS客户端和服务器都带有扩展的身份验证和加密选项时,您必须自己关心传输安全

  • 您正在重新发明轮子,需要在现有实现所涵盖的功能上投入大量精力,其中一些功能到现在已经改进了多年。在保持假定的性能优势的同时,您是否能够实现同样的稳定性是值得怀疑的。不仅要编写代码,还要维护代码

  • 如果你不得不问这个问题,你很可能缺乏实施正确协议的技能。即使对于经验丰富的开发人员来说,单独正确地实现身份验证和授权也不容易。默默无闻带来的安全感并不重要;)这只是冰山一角。我想到了错误处理、会话和连接维护。但我们仍然只是冰山一角

  • 您进行过早优化,这是万恶之源。根据:

    我们应该忘记小效率,比如说97%的时间:过早优化是万恶之源。然而,我们不应该在这关键的3%上放弃我们的机会。”

    与经过战斗测试的HTTP实现相比,您的应用程序逻辑更有可能成为瓶颈

  • 您正在重新发明轮子,需要在现有实现所涵盖的功能上投入大量精力,其中一些功能到目前为止已经经过多年的改进。您是否能够在保持假定的性能优势的同时实现同样的稳定性是值得怀疑的。而且,您不仅需要编写代码,还需要我们也要维护它

  • 如果你不得不问这个问题,你很可能缺乏实施适当协议的技能。即使是经验丰富的开发人员,单独正确实施身份验证和授权也不容易。通过模糊性实现的安全性并不重要这只是冰山一角。我想到了错误处理、会话和连接维护。但我们仍然只是冰山一角

  • 您进行过早优化,这是万恶之源。根据:

    我们应该忘记小效率,比如说97%的时间:过早优化是万恶之源。然而,我们不应该错过关键的3%的机会。”

    与经过战斗测试的HTTP实现相比,您的应用程序逻辑更有可能成为瓶颈