使用.html而不是.php文件有什么好处?

时间:2018-07-25 11:44:32

标签: php html

如果文件中未包含PHP代码,那么使用mypage.html而不是mypage.php有好处吗?

我正在使用Jquery将文件夹中的所有页面加载到一个元素中,我很好奇,如果使用html文件而不是php文件而仅在文件内部使用HTML会带来性能上的好处。

代码很简单:

$("main").load("/pages/" + hash + ".html");

4 个答案:

答案 0 :(得分:2)

Web服务器通常会根据文件的“扩展名”(即文件名的最后一部分)来决定如何处理文件;有很多可能的变化,但是常见的默认配置是:

  • .html结尾的文件名将由Web服务器直接读取,并以Content-Type的{​​{1}}发送回浏览器,无论其内容如何。
  • text/html结尾的文件名将触发PHP解释器的执行,作为模块,CGI脚本或FastCGI代理。然后,PHP解释器将读取文件,默认发送.php中的Content-Type,并输出text/html(或<?php)和{{1}之间的任何文件内容},就像被告知<?=

如果您有一个完全受信任的HTML页面,而内部没有?>的实例,则唯一的区别将是Web服务器读取它而不是将控制权交给PHP解释器,从而在性能上有很小的优势。确切的开销取决于它的运行方式-CGI模式非常慢,但很少使用;配备FastCGI和OpCache的现代配置几乎不会增加延迟。

唯一的区别是,如果有人可以编辑HTML文件,并且意外或恶意地包含了PHP可以解释的代码。通过将其另存为echo,并检查服务器配置,可以确保该代码不会执行。

请注意,这些微小的差异有时称为“微观优化”,通常的建议是仅在您用尽所有其他优化后才查看它们,并且仅基于实际优化您的应用程序的基准测试。即使数百万的人请求此页面,他们每个人也只能从此更改中获得几毫秒的改善,并且您的服务器将看到CPU使用率的小幅下降。但是,单个数据库查询可能要花费数百倍的时间,而实施更有效的查询或有效的缓存将大大提高性能。

如果您发现这些文件确实造成了可衡量的延迟,那么您应该投入更多的精力来寻找最佳的解决方案,而不仅仅是进行一些小的更改。由于这些文件是静态文件,因此您可以考虑使用单独的CDN(例如CloudFlare,Akamai),或将它们托管在经过专门调整以服务这些文件的单独服务器上,而不用动态内容来争夺资源。

答案 1 :(得分:1)

使用任何一个文件扩展名应该没有区别。

根据所使用的服务器,如果服务器未在.html文件中查找php标签,则性能可能会有所提高。如果存在,它必须可以忽略不计,但是您可以对其进行基准测试。

答案 2 :(得分:1)

无论如何,最终结果将相同。就是说,使用.html而不是.php会有一点性能上的好处,因为服务器不需要执行php解释器。

在大多数现代服务器上,不需要启动php,因为该过程通常已经存在于内存中,但是实际解析文件和验证其中没有php只是非常微小的区别。

我担心的没什么不同。

答案 3 :(得分:0)

我想说这是有区别的,因为您的网络服务器没有为此启动PHP插入器。但是您不会从中受益很多。