因此,您不仅可以随意回答这个问题,还可以提出建议或改进。我以前从未组装过大型 Web 应用程序。这是我的思考过程:
- 持久层:标准数据库(现在是 MySQL)
- 业务逻辑层:类 REST 结构(PHP、Java Servlets 等...)
- 表示层:Web 浏览器、Android 设备(应用程序而非浏览器)等
我选择这种架构的原因是,设备可以设计自己的自定义 UI,并通过使用 GET、POST 以及不与服务器交互的内容来利用类似 REST 的功能。
问题1:
问题是,您如何保护用户的信息?您可以通过 SSL 连接对用户进行身份验证并返回一个特殊的 HASH,以便用户可以操纵他们的帐户,但如果有人在网络上监听,他们所要做的就是监听 REST 调用并窃取 HASH。一种解决方案是所有类似 REST 的调用都必须通过 SSL,但这会导致另一个问题。
问题2:
如果 REST 程序在 SSL 中,则浏览器必须对所有内容使用 SSL,据我了解,这在不必要时可能会很慢而且很麻烦。此外,SOP 使得无法从不安全的浏览器对 REST 过程使用 SSL ajax 调用。HTTP 和 HTTPS 被认为是不同的来源,即使它的来源相同,协议不同。
这个解决方案可行吗?我将如何解决这两个问题?或者可能(可能)我应该为我的 Web 应用程序寻找更好的架构。提前感谢所有建议。