我的工作项目是将JSON数据发布到服务器。我们使用application / json作为Content-Type,但它导致每次调用发出两个请求 - 一个用OPTIONS,另一个用来实际发布数据。 Google-fu和Stackoverflow发现这是由于application / json Content-Type。将它切换到text / plain和JSON.parse()在服务器上将它删除了第二个OPTIONS请求,允许它只使用一个连接发布。
尽管这解决了这个问题,但后端开发人员提到他希望为服务器创建更好的配置,以便OPTIONS请求只发送一次,然后缓存所有后续请求。我并不反对这一点,但他的理由是,为所有请求执行JSON.parse是因为它可能只是首先接收JSON对象而导致服务器开销太大。
我对Node或网络的技术细节一无所知,但我的印象是,无论你发送什么Content-Type,服务器总是收到一个字符串,然后将其转换为内容类型一旦收到。也就是说,如果使用application / json Content-Type发布数据,服务器仍然运行JSON.parse以实际将其转换为JSON对象。
我错了吗?使用application / json Content-Type发布数据是否有速度(或任何其他)性能优势?我可以理解它准确标记提交的数据这一事实,但我很好奇我是否对服务器接收数据的概念化是错误的。同样,我的印象是接收字符串和JSON.parse'正是当您使用application / json Content-Type发布时发生的事情。
对此内部工作的任何见解都将不胜感激。