gpt4 book ai didi

java - 我的程序需要从我的托管服务器访问信息(键/值)。什么样的网络架构最适合这个?

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:37 25 4
gpt4 key购买 nike

我的程序需要通过网络按需下载对象定义(基本上是 xml 文件,也许是二进制文件)。该程序将在运行时从我的服务器请求对象。程序必须发送给服务器的唯一内容是一个标识其所需对象的字符串(例如 RedCubeIn3DSpace23)。这是一个基本的键值系统。我的应用程序还必须具有一些基本的身份验证机制,以确保只有合法程序才能访问我的服务器信息。也许发送许可证号和密码。实现这一点的最佳方法是什么?我的网络知识为0,所以我不确定我到底需要什么技术。我在大学里实现了套接字程序,所以也许这就是我需要的?有这类事情的框架吗?可能同时有数千个用户/客户端;也许更多,但我不知道。一个非常重要的要求是我需要服务器端的安全性完美无缺。也就是说,我不能让黑客用客户端下载的恶意对象定义替换对象定义。那将是灾难性的。

我的第一个想法:

-设置一个 ftp 服务器并让每个 xml 文件由键值命名。程序使用其product_id 和固定密码登录并进行下载。如果我使用良好的 ftp 服务器,黑客就很难修改定义。缺点是它非常不可扩展且不灵活。

-RESTful 类型系统。我是在搜索 stackoverflow 时才了解到这一点的。我可以使用 URL 对对象进行分类,但如何进行身份验证和其他操作。可能很难编程,但这是更好的方法吗?有为此预建的库吗?

-使用 Java/C# 的套接字。 Java/C# 可以保护我免受溢出攻击,然后只需在每个连接上生成一个线程并设置简单的消息传递协议(protocol)和文件传输即可。

-肥皂。刚刚在搜索的时候了解到的。知道的不多。

-EC2。我认为它(和其他?)云服务在其上添加了一个数据库层。

这就是我能想到的,考虑到我的要求,你觉得怎么样?我只需要一点指导。

最佳答案

HTTP 似乎比 ftp 更适合,因为您只想下载东西。也就是说,您将设置一个 Web 服务器(例如 Apache),将其配置为您需要的任何身份验证方案,并让它提供该内容。

SOAP 显然对此太过杀伤力,并且使用原始套接字将重新发明轮子(即 Web 服务器)。

我会使用 HTTPS 在套接字级别实现安全性。这样,客户端在建立连接时会事先验证服务器的身份,并且任何人都无法拦截发送到服务器的密码。同样,一个像样的网络服务器将支持这种开箱即用的功能,您只需要正确配置它即可。

关于java - 我的程序需要从我的托管服务器访问信息(键/值)。什么样的网络架构最适合这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1840266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com