したがって、この質問に答えるだけでなく、提案や改善を投げ出すこともできます。私はこれまで大規模なWebアプリケーションをまとめたことがありません。これが私の思考プロセスです:
- 永続層:標準データベース(現在はMySQL)
- ビジネスロジック層:RESTのような構造(PHP、Javaサーブレットなど...)
- プレゼンテーション層:Webブラウザー、Androidデバイス(ブラウザーではなくアプリケーション)など
このアーキテクチャを選択した理由は、デバイスが独自のカスタムUIを考案し、GET、POST、およびサーバーと対話しないものを使用して、RESTのような機能を利用できるようにするためです。
問題1:
問題は、ユーザーの情報をどのように保護するかということです。SSL接続を介してユーザーを認証し、特別なHASHを返すことで、ユーザーはアカウントを操作できますが、誰かがネットワークでリッスンしている場合は、REST呼び出しをリッスンしてHASHを盗むだけです。1つの解決策は、すべてのRESTのような呼び出しがSSLを介して行われる必要があることですが、これは別の問題を引き起こします。
問題2:
RESTプロシージャがSSLである場合、ブラウザはすべてにSSLを使用する必要がありますが、私の理解では、不要な場合は遅くて面倒です。また、SOPを使用すると、セキュリティで保護されていないブラウザからRESTプロシージャへのSSLajax呼び出しを使用できなくなります。HTTPとHTTPSは、同じオリジン、異なるプロトコルであっても、異なるオリジンと見なされます。
このソリューションは実行可能ですか?これらの2つの問題をどのように解決しますか?または、おそらく(おそらく)Webアプリケーション用に調査する必要のあるより優れたアーキテクチャがあります。すべての提案を事前に感謝します。