目前,我正在通过iframe加载一些外部网站来展示内容。但是,由于这些网站在地理上远离我的用户和我的服务器,因此对他们来说真的很慢。
我最近遇到了php方法file_get_contents()并且读到它自服务器端脚本以来会更快。我的问题是,从用户的角度来看。对于我的用户而言,file_get_contents是否会比iframe更快地加载外部网站,或者是否存在比我可以使用的iframe更快的其他php方法。
由于
答案 0 :(得分:4)
如果在将任何发送到客户端之前获取服务器上的所有这些站点,则客户端将看到 nothing ,直到您的服务器加载了每个页面。如果您使用iframe,则客户端将异步加载网站,并且之前会看到某些内容。如果您的服务器会定期提取这些网页并缓存,那么您就会有优势。
但是,加载服务器上的网站并嵌入他们的HTML也意味着你必须做很多处理服务器端来重写并修复这些网站所有的外部包含(样式表,Javascript,图像),因为他们现在从不同的领域获得服务。
简而言之:可能不是。
答案 1 :(得分:3)
想一想,你会充当代理人:
+---------------+ +-------------+
| external site |<---far far away------| your server |
+---------------+ +-------------+
^
|
+----------------+
| client browser |
+----------------+
这会增加另一层,但不会使外部网站更接近任何人。结论:如果有的话,它会更慢。
答案 2 :(得分:0)
仅使用file_get_contents()
最佳解决方案是:
将外部文件加载并保存为cron作业。
将文件与页面必需品(css和js)一起保存在服务器上。
将此本地文件加载到iframe中,从而实现异步显示和快速用户体验。