2011-12-09 3 views
1

同じApacheサーバーに2つのPHPアプリケーションがあります。ある時点で、アプリケーションAは、それでは、http://somedomain.com/app1/actionにあるスクリプトがfile_get_contents()を使用してhttp://somedomain.com/app2/actionをダウンロードする必要があるとしましょうアプリケーションB同じApacheサーバーにあるURLを呼び出すときにPHPは何をしますか?

にURLを呼び出す必要があります(ドメインは両方のアプリケーションでも同じです)

私は思っていましたPHPはこれをどのように扱いますか?あたかも外部URLへの呼び出しであるかのように、リクエストがインターネット全体に行き渡っていますか?または、それをどうにかして最適化し、サーバー上のアプリケーションに直接アクセスしていますか?

+2

「インターネット全体を通して」? ** No **のリクエストは、「インターネット全体」を通過することはありません。 – Quentin

+0

ローカルDNSを設定することでおそらく "インターネット往復"を防ぐことができますが、それはおそらくserverfault.comに適した質問になるでしょう。 – ChrisR

+0

@Quentin、 "全体のインターネットを通って行く"は誇張です。自分のパソコンからgoogle.comに電話をかけ、リクエストがたくさんのサーバーを経由しているとします。私が疑問に思うのは、同じことがポストで言及された例で起こるならば。 –

答えて

3

あなたのDNS解決に依存し、PHPとは関係ないと思います。

ネットワークが正しく設定されている場合は、パブリックURLを呼び出してもローカルネットワーク上のサイトにアクセスできるはずです。

ご依頼がサーバーから離脱しないようにするには、localhost(または127.0.0.1)のアドレスを使用してください。ローカルIPアドレスを使用して、ローカルネットワーク経由でアクセスすることもできます。

0

インターネット全体が大きくなっています。しかし、ネットワークのレイアウトによっては、サーバーから離れてしまうことはありません。

+0

ISPに往復する理由は何ですか? IPアドレスは、ローカルマシンのネットワークインターフェイスにバインドされます。 – Quentin

+0

私は間違ってサーバーがNATの背後にあると仮定しました – Ikke

0

オペレーティングシステムのTCP/IPスタック全体が使用されています(必要な場合)。

somedomainname.comの代わりに127.0.0.1を使用する場合、同じサーバーにある場合は、DNS名を解決する必要はありません。

0

通常

要求が野生で「出て行く」ことができ、その後、戻ってサーバーにルーティングされる(そしてそれはだご使用のサーバの「外出」しませんので、アプリケーションBがアプリケーションAによりquiclyアクセスされた要求しますあなたのサーバーのDNSがうまく構成されていない場合(公然と、サーバーは自分自身をsomedomain.comと認識できません)

0

要求は、送信元と送信先の間のすべてのサーバーを経由します。彼らは同じなので、それはサーバーではありません。

関連する問題