图迪斯·雷
为了解决网站的CORS问题,我有两种选择。
- nginx反向代理
- 网站获取nodejs,nodejs获取目标,然后仅发送回我需要的部分数据,这将压缩50%的大小。
考虑到用户体验和服务器效率,哪种方法更好?
非常感谢。
jfriend00
使用通用反向代理的原因:
- 您有很多不同的需求需要它,因此仅拥有一个处理所有事务的代理会更简单。
- 使用nginx会将处理代理请求的所有工作移到一个单独的进程中,因此不会对nodejs服务器造成任何负担。
- nginx“可能”比您在nodejs中的代码更具可伸缩性,仅因为nginx已针对此类事情进行了高度优化。但是,如果这是您做出决定的有意义的驱动力,则您必须进行衡量,以查看是否确实如此(不可能在不进行衡量的情况下进行肯定预测)。
让您的nodejs服务器执行此工作的原因:
- 您可以在允许使用代理请求之前执行特定于应用程序的身份验证。
- 您可以设计特定于应用程序的请求,让您的客户端仅指定您要指定的内容,然后Nodejs服务器可以将其转换为第三方网站请求,使用默认值填充某些部分等。
- 您可以将代理响应调整为仅满足客户端所需的数据,从而加快客户端响应速度并降低服务器带宽成本。
- 您可以将对目标的多个请求组合为客户端与Node.js服务器之间的单个请求/响应,从而使您可以创建更有效的请求,尤其是在移动或慢速链接上。
哪个更好,完全取决于特定的请求以及您要优化的内容。我们不能说一个比另一个更好,因为它们每个都有优点和缺点,所以最终归结为哪些优点和缺点对您的系统更重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句