为什么用PHP看xml文件比用浏览器看要花更长的时间?


Why does it take longer time to view xml file in PHP than using Browser?

我正在尝试echo这个xml文件http://export.arxiv.org/rss/hep-th在我的网页使用

echo file_get_contents('http://export.arxiv.org/rss/hep-th');

这需要很长时间来加载,大多数时候甚至超过30。然而,当我使用浏览器加载相同的url时,显示相同的文件需要不到2秒。这些文件通常需要这么长时间,还是我做错了什么?

file_get_contentsreadfile都有一个HTTP- uri,就像你在问题中得到的URL一样,将在PHP中使用相同的 HTTP流包装器。因此,这两个方法将在后台执行或多或少相同的HTTP操作。

这与您的浏览器类似,但是由于HTTP协议可以有许多方面,因此您的浏览器可能(而且很可能是)发送与PHP配置不同的HTTP请求。

根据你通过HTTP协议交互的HTTP服务,它可能会以不同的方式处理一些报头(或不报头),例如,它在提供答案之前等待30秒。

但也有可能,当你通过PHP请求时,它会尝试提供新鲜的数据,但当你通过浏览器访问时,它会提供缓存的内容,所以为什么一些响应可能比另一个响应需要更长的时间准备。

单从你的问题,我们不能说具体的原因是什么,因为我们不能研究服务本身。

你可以联系你所使用的HTTP服务的供应商,询问他们的支持,为什么响应时间差异如此之大

相关文章: