2011-12-09 4 views
1

동일한 Apache 서버에 두 개의 PHP 응용 프로그램이 있습니다. 어떤 시점에서, 응용 프로그램 A는 궁금PHP는 동일한 Apache 서버에있는 URL을 호출 할 때 무엇을합니까?

(도메인이 두 응용 프로그램에 대한 동일)

은 그럼 http://somedomain.com/app1/action에 위치한 스크립트가 file_get_contents() 사용 http://somedomain.com/app2/action을 다운로드해야 가정 해 봅시다 애플리케이션 B.에 URL을 호출해야 PHP는 어떻게 처리합니까? 요청이 외부 URL에 대한 호출 인 것처럼 전체 인터넷을 통해 진행됩니까? 또는 어떻게 든 그것을 최적화하고 서버에서 직접 응용 프로그램에 액세스합니까?

+2

"전체 인터넷을 사용하고 있습니까?" ** 아무런 ** 요청도 "전체 인터넷"을 거치지 않습니다. – 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 이름을 확인할 필요가 없습니다. 응용 프로그램 B 응용 프로그램 A.에 의해 quicly 액세스 할 수 있도록

0

는 일반적으로 서버의 "외출"하지 않는 요청

서버로 다시 라우팅 (그리고 그되고 다음 야생에서 "외출"수

요청 서버 DNS가 잘 구성되어 있지 않으면 (실제로는 서버가 자신을 somedomain.com으로 인식 할 수 없다).

0

요청은 원본과 대상 사이의 모든 서버를 통과합니다. 두 서버가 동일하기 때문에 서버가 없습니다.

관련 문제