展開している製品の一部として、クライアントはコンテンツとデータにアクセスするためにサーバー上のリモートAPIにアクセスする必要があります。それにもかかわらず、いくつかの理由と一部のクライアントでは、ページ全体がサーバー上にあるソリューションは望ましくありません(理由には、デザインの制御が含まれますが、ほとんどの場合SEOであり、このコンテンツを「自分のドメイン」で利用できるようにする必要があります)。 。他の問題があるため、APIサーバー側にアクセスするスクリプトは望ましくありません。
私の考えは次のとおりです(そして、他の人が代替案を提案できるように、その欠陥を指摘します):
1)特定のURIパスからすべてのトラフィックを取得するクライアントサーバーでホストされる単純なスクリプトを作成します(他のフレームワークルーターと同様に、キャッチオールスクリプト)。つまり、/ MyApp/*です。このスクリプトは常に単一のコード、「ローダーjavascriptとスタイリング」を返します...
2)上記のスクリプトから返されたjavascriptを使用して、URLを抽出し、目的のパス/ MyApp / [*]の後でURIを処理し、JSONPまたはCORSの通常のajaxを使用して外部呼び出しに送信すると、戻り値は適切にスタイル設定されて表示されます。
これにより、/ MyApp/abcや/MyApp/defなどのURLはブラウザソースに同じhtml/jsを持ちますが、JSはajax呼び出しから異なるデータをロードするため、異なるコンテンツを表示します...
これは良い解決策のように思えますが、唯一の欠点は、私の理解では、googleや他の検索エンジンがabcとdefからコンテンツにアクセスできず、「ローダーjavascriptとスタイリング」にしかアクセスできないことです(十分に明らかですが、 arentはJSを実行する予定です)...
したがって、これは#よりも優れています!URLを台無しにすることはありませんが、それでもJSに依存するため、検索エンジンに対応していません...
サーバーの制限により、curlなどの最小要件を課すよりも、単純な「キャッチオール」ページを作成し、クライアント側からAPIを呼び出したいと思います。さらに、この方法でエンドユーザーのIPアドレスをより簡単に作成できます(ただし、より複雑なプロキシを作成できます。これにより、クライアントのサーバーへのインストールがはるかに困難になります)...
サーバー側からAPIに接続せずにこれを達成する方法はありますか?