首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有URL请求的情况下与水瓶进行通信

在没有URL请求的情况下与水瓶进行通信
EN

Stack Overflow用户
提问于 2022-07-20 13:08:15
回答 1查看 44关注 0票数 -2

我创建了一个网站,它可以与一个Flask服务器进行通信,但是它使用URL请求进行通信,这让我感到不安全和易用。此外,我还发送复杂的数据(其中包含斜杠和换行)和大数据。

所以我能用其他方式交流吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 13:27:00

这是一个很大的问题,有很多可能的解决办法。下面是我的裂缝:

我不会通过HTTP请求发送大数据。考虑使用中间存储(如NFS集群或AWS S3 )来存储大型复杂数据。然后,生产者服务器将执行以下操作:

  1. 产生数据
  2. 将数据上载到中间存储区
  3. 向您的Flask服务器发送HTTP请求,该服务器只包含到中间存储区数据的文件路径

在接收到HTTP请求时,您的Flask服务器将执行以下操作:

  1. 验证请求来自生产者商店(见下文)
  2. 验证路径是否位于中间存储区,且未被攻击者利用以从其他源加载数据。
  3. 在给定路径上从中间存储区加载数据
  4. 处理数据

有几件事要考虑:

  • 您需要在生产者和Flask服务器之间进行身份验证。考虑让生产者在启动时登录到Flask服务器,并获得一个令牌。如果您不使用身份验证,任何人都可以上传一个路径供您的Flask服务器处理。请参阅:https://realpython.com/token-based-authentication-with-flask/
  • 让HTTP请求处理线程花费很长时间是个坏主意。在处理数据时,线程不能响应其他请求。考虑使用芹菜工作人员来处理大型数据集,而不是在HTTP请求线程上进行处理。当您的Flask服务器接收到HTTP请求时,生成一个任务来处理数据,并立即将状态代码(如HTTP 202 )返回给用户。然后,您的前端可以使用轮询、通知或websockets在准备就绪时检索结果。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73052235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档