cURL发布到同一站点是否会离开本地网络?

时间:2010-10-13 17:50:38

标签: php curl

我正在使用完整的URL(http://www.mysite.com)在同一站点上从一个页面到另一个页面执行PHP cURL帖子。 (我知道这不是最好的方法;但为了我的目的,这就是我需要的)

我的问题是:

cURL帖子是否仍会通过互联网发布,进行名称查找和旅行路线,就像来自不同网站的帖子一样。或者帖子会留在服务器本地网络上吗?

3 个答案:

答案 0 :(得分:3)

请求有多个部分,dns查找以及网站的获取或发布。

DNS记录通常缓存在大多数操作系统上,因此服务器不太可能必须为自己的外部IP执行dns查找,但这是可能的。

至于帖子,让我们假设一个基本布局:

Firewall         =>   DMZ Apache PHP Server (www.mysite.com)
222.xxx.xxx.123  =>   192.168.0.2

并且mysite.com解析为222.xxx.xxx.123,然后您的请求将转到防火墙的外部接口并重新启动。这不是非常可观的公共流量,但是它已经不再少了。

但是,如果你想绕过它,可以在服务器的主机文件中输入一个条目来说

127.0.0.1 mysite.com

(假设你控制服务器,即不是共享主机)

答案 1 :(得分:0)

没有。帖子本身(除非你有多个接口,你的路由完全搞砸了)不会遍历互联网。您的本地主机也应该能够解析自己的名称,但是有可能会发出DNS请求来确定与该名称对应的IP地址。我希望你的系统上的网络堆栈实现可以防止帖子的数据包甚至打到线路(类似于localhost),但我不会指望它。

答案 2 :(得分:0)

这取决于您的网络设置。许多站点的域名都指向前置路由器或负载均衡器的IP地址,后者将请求转发给Web服务器。

如果是这种情况,请求您自己的网站可以往返路由器。虽然这个请求不太可能通过互联网,除非你有一个非常不寻常的设置(例如带有多个数据中心的循环DNS)。

您可以通过将站点FQDN与网络服务器/ etc / hosts中的环回接口相关联来避免往返,这也将为您节省DNS请求。