2017-09-16 3 views
0

たとえば、別のドメインのリダイレクト後にどのクライアントに応答するかをサーバーはどのように知ることができますか?

私はウェブページ(ウェブページW)に行き、今私はクライアントです。

ServerはA私はコード化されたことを、Webページに関連付けられているサーバであり、(Javaでコード化された)コントロールの上に持って

サーバBは完全に異なるドメイン上のサーバーであり、私はそれを制御することはできません。独自のWebページを実行しています。

クライアントは、サーバーAにJavascript AJAX要求を送信し、サーバーAはOKで応答します。コードは続行され、コードはページをサーバーBのWebページにリダイレクトします。現在のページはサーバーBのWebページです。サーバーBのWebページ上で行われる必要があるものは何でもした後

は、サーバBは、サーバAが要求​​を受信した

今サーバーAにコールバックするためにHTTPを使用し、コントローラは、ウェブページに戻って、クライアントをリダイレクトする必要がありますしかし、HTTPリクエストはクライアントではなくサーバーBからのものです。リクエストがクライアントから来ていないため、ウェブページWにリダイレクトするリクエストを伝えるだけではありません。

HTTPリクエストはサーバBから来て、サーバAがそれをキャッチしますが、サーバAは元のクライアント(私)をどのようにしてウェブページWにリダイレクトするのですか?

もっと曖昧な点として、別のドメインにリダイレクトした後に私のサーバが元のクライアントセッションを見つける方法はありますか?私はあなたの質問を理解して

+0

クライアントを元のドメインにリダイレクトするとセッションクッキーはそこに残っているはずです...あなたがここで何を求めているかは本当に不明です。 –

答えて

0

本当のユースケースは、しかし、ここで有用であることを証明し得る

クライアント(ブラウザ)サーバーからWebページをロードします。 その後、クライアントはajax経由でサーバーに別の要求を行います。

ある時点で、サーバーBへのリダイレクトを記述します。これがajaxレスポンスのロケーションヘッダーを介して行われたのか、ajaxレスポンスを受け取った後にクライアントでJavaScriptを使用してページをサーバーにリダイレクトするのかB.

クライアントが今見ている場合、私はそう

それはあなたがサーバAは(200ではなく、302や301を暗示する)OKでAjaxのリクエストに応答することを言ったクライアントサイドJavaScriptの人間であると仮定するつもりですサーバーBで、サーバーB(クライアントではない)がサーバーAに要求すると、まったく新しいセッションになります。あなたが知っていることはすべてあなたに送信されたものです。しかし、あなたはどこから来たのかに関係なく同じ要求に答えるべきです。

例えば、エンドポイントが/ fooの場合、/ fooへの返信はクライアントから来た場合と同じであり、サーバーBからの返信は同じです。サーバーAからのクライアントを制御できません。

関連する問題