Что делает PHP при вызове URL-адреса, расположенного на том же сервере Apache? - PullRequest
1 голос
/ 09 декабря 2011

У меня есть два приложения PHP на одном сервере Apache.В какой-то момент приложение A должно вызвать URL-адрес приложения B.

Итак, скажем, скрипт, расположенный в http://somedomain.com/app1/action, должен загрузить http://somedomain.com/app2/action с использованием file_get_contents() (доменодинаково для обоих приложений)

Мне было интересно, как PHP справляется с этим?Просматривает ли запрос весь интернет, как если бы это был звонок на внешний URL?Или это как-то оптимизирует его и напрямую обращается к приложению на сервере?

Ответы [ 5 ]

3 голосов
/ 09 декабря 2011

Я думаю, это зависит от вашего разрешения DNS и не связано с PHP.

Если ваша сеть настроена правильно, вы сможете получить доступ к сайту в локальной сети, даже позвонив по общедоступному URL.

Чтобы убедиться, что ваш запрос не покидает сервер, вы можете использовать адрес localhost (или 127.0.0.1). Вы также можете использовать локальный IP-адрес для доступа к нему по локальной сети.

0 голосов
/ 09 декабря 2011

Запрос проходит через каждый сервер между источником и местом назначения.Поскольку они одинаковы, то это не серверы.

0 голосов
/ 09 декабря 2011

Обычно запрос не «выходит» из вашего сервера, поэтому приложение B получает быстрый доступ к приложению A.

Запросы могут «выходить» в дикой природе и затем направляться обратно на ваш сервер (иэто не очень хорошо для производительности), если DNS вашего сервера не настроен должным образом (по сути, ваш сервер не может распознать себя как somedomain.com).

0 голосов
/ 09 декабря 2011

Он использует весь стек TCP / IP операционной системы, если это то, что вы хотите знать.

Если он находится на том же сервере, ему не нужно будет разрешать DNS-имя, если вы используете 127.0.0.1 вместо somedomainname.com.

0 голосов
/ 09 декабря 2011

Весь интернет большой. Но вряд ли он покинет сервер, в зависимости от схемы сети.

...