最近在网上流传了很多关于网站生成HTML静态会对硬盘有损伤的说法(当然这里的损伤概念是指相比普通的应用程序而言,非指任何系统和程序都会让硬盘折寿类型的常规损伤)。但通过Google、百度并没有发现出现过这个问题的真实例子存在,大部分都是道听途说、人云亦云并没有一个比较合理的解释,下面就这个问题来作一个简单的分析。
首先,假设“网站生成HTML静态会对硬盘有损耗”这个说法成立,这个问题影响最大的应该是IDC行业中的虚拟主机服务商,因为现在主流CMS、论坛系统、网店系统、博客系统大多数都支持生成HTML静态功能,而且一般情况下一台服务器中都会存在100-300个虚拟主机同时运行,在有如此大的硬盘损耗的情况下,国内竟然没有一家虚拟主机服务商限制生成HTML静态站点在其虚拟主机上运行,这个现象是不是反常呢?是不是由于现在硬盘价格比较低虚拟主机服务商不在乎了呢?其实不然,因为想在短时间内恢复100-300个网站的数据并不是一件简单的事情,同时基于网站稳定性和硬件成本方面的考虑虚拟主机服务商不可能不在乎。所以在IDC行业中“网站生成HTML静态会对硬盘有损耗”一说法是不成立的。
其次,假设“网站生成HTML静态会对硬盘有损耗”这个说法成立,那为什么还会有那么多主流CMS、论坛、网店、博客软件公司去研发这个功能呢?这个现象是不是反常呢?因为生成HTML静态功能可能造成用户硬盘损坏而引起数据丢失,软件开发公司是肯定需要承担相应责任的,应该没有哪家软件公司会在增加自己研发成本的基础上去开发一个对自己有负面影响的功能。所以在软件行业中“网站生成HTML静态会对硬盘有损耗”一说法是不成立的。
大家都知道对硬盘的操作主要分为“读”与“写”两大部分,先分析生成HTML静态对硬盘“读”的影响:
现在以最常见的PHP动态网站为例,普通的PHP网站的执行过程是先读取PHP文件、然后根据PHP文件中的代码读取数据库中的数据,最后输出到访问者的浏览器中进行显示。在这个执行过程中PHP文件至少读取一次(如果代码中包含include之类的语句的话还需要读取更多次),数据库至少读取一次(一般情况下需要读取多次),在这个过程完成之前一般需要读取硬盘2-20次左右,当然不同的WEB服务器、数据库、系统对IO的操作过程也不一样,但基本可以初步了解到这个实现基本过程。
现在再来看“生成HTML静态”网站的执行过程,很明显执行过程就是直接读取HTML文件再传输到访问者的浏览器进行显示,对硬盘的读取操作只有1次。
根据以上分析可以得出结论,“生成HTML静态”网站只有普通动态网站读取硬盘频率的1/10,再加上“生成HTML静态”网站可以利用浏览器的页面缓存,对硬盘读取的频率可以进一步降低,“生成HTML静态”网站在硬盘的“读”操作方面没有任何损伤,反而可以更好的保护硬盘。
明白了生成HTML静态对硬盘“读”的影响,现在我们再来看看生成HTML静态对硬盘“写”的影响:
还是以现在最常见的PHP动态网站为例,PHP动态网站在添加文章时直接把数据写入了数据库,对硬盘进行了一次写操作。而“生成HTML静态”网站在写入数据库的同时把数据又写入了文件,对硬盘进行了两次写操作。但在实际项目中,我们只会把修改频率非常低的内容生成HTML静态,比如文章、商品内容,这些页面的写频率本身就非常非常低的,比如我们站点发布的文章在发布后几乎就不会再进行修改了。对于一个拥有10万篇文章的站点来说,平均一篇文章修改1次,对硬盘的写入次数也才20万次,一般服务器硬盘的使用寿命都在5-10年左右,其实再放大数万倍也不至于达到能够损伤硬盘的地步。不相信的朋友可以下载DiskCountersView软件查看一下你自己的电脑在24小时内读写硬盘的次数,在普通情况下24小时内读写硬盘的次数就会超过了千万次,如此计算20万次硬盘写入几乎可以忽略不计。
根据以上的分析可以得出结论,“生成HTML静态”网站比普通动态网站硬盘写入频率高2倍,但由于生成“生成HTML静态”的内容几乎不会再进行修改,所以对硬盘的写入次数可以忽略不计,不会对硬盘造成任何损伤。
总结:在最有说话权的IDC行业和软件行业中“生成HTML静态页面”并不成立,而且通过技术分析也证明生成HTML静态页面并不会对硬盘造成任何损伤,相反还可以极大的降低对硬盘、数据库的读取操作频率,提高站点访问速度。
这个问题太笼统了,使用 html5可以开发静态网站,其实你这里的 html5 指的是 html5 + css3+ javascript ,当然很多人以为 h5 是一种技术,其实 h5 就是 html5 + css3+javascript .h5本来是不存在的,由于使用html5+css3+javascript可以写出那些炫酷的效果,而培训机构太多,很多业务员直接就用h5来说,导致出现的新名词。
其实主要使用的是html5的 canvas 结合css3的 2d, 3d,和javascript 等技术来实现的。
至于怎么开发网站,这个还真的不是三言两语能说得完的。使用服务器,服务器也分两种,一种是需要备案的,一种是不需要备案的,单有服务器也还不行,还要域名,先将域名解析到服务器,然后通过 ftp上传代码到服务器的指定位置,就可以通过域名来打开你的网站了。
简单的说,网页制作好后,网页文件将放在一台电脑上,这台电脑通常称为服务器,其他人在浏览器中输入网址时,就等于是对服务器说:“把某某页面文件给我看下”,于是服务器就去找那个页面并发给浏览器,浏览器将页面下载到临时文件夹中并显示出来,这样我们就看到网页了。 如果请求的是html这种静态页面时,服务器上基本不用执行什么的,直接扔给浏览器就可以了;如果请求的是asp,asp.net,php等动态页面时,服务器就要针对不同的语言做不同的处理,然后再给浏览器; 简单的说就是这样了,其实平时我们不必去关心服务器具体怎么执行,我们只要根据学的知识把页面做好传上去就可以了。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)