.html 、.htm 、 .shtml 以及 .shtm 四种扩展名的文件区别_html/css_WEB-ITnose
新增了一个分类,叫做 Personals,中文我把它解释成 "个人恶趣味",这里将记载一些对工作无关紧要,但是个人又一时有兴趣了解的东西。
今天要讲的是如题的 4 种扩展文件的区别。和大多数人一样,我首先接触到的也是 .html 后缀的文件,后来在工作中发现前端写的都是 .htm 后缀的文件,再后来接触到了 .shtml 的扩展文件,与它相应的还有 .shtm 的文件。遂花了一点时间了解了下它们之间的区别,记录如下。
.htm VS .html
首先来看 .htm 和 .html 文件的区别。答案居然是: 它们是相同的。
事实上,这只是个人喜好问题,保持统一的后缀名即可。习惯上,windows 通常会用 .htm 的后缀名,而 linux(unix) 会用 .html 后缀(在 linux 中,如果打开 .htm 的文件,会直接展示源码)。这是因为很久以前,操作系统(DOS)的平台是 window 3.x.x,系统对于文件有个 8.3约束(8.3 naming convention),即文件名只能是 8 个字符,后缀只能是 3 个字符,所以当时显然无法使用 .html 后缀。而现在,这些问题都已经不复存在了。(个人感觉 .html 更正规一点,一些人认为使用 .htm 是回到了 dos 时代)
还有个问题是服务端的,如果服务端某文件夹下同时有 index.html 和 index.htm 文件,URL 省略了后面的文件名(如 http://www.domain.dom/dirname/),那么显然一个文件会优先于另一文件被读取(先解析 index.html)。事实上,我们一般不会在同一个文件夹下保存两个 index 文件。
.html VS .shtml
接着来说说 .html 和 .shtml 文件的区别,简单说 .shtml 文件就是 html 文件加个 ssi。那么,ssi 又是什么鬼?其实这玩意儿之前已经接触过,在 Apache下开启SSI配置使html支持include包含一文中。
SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。SSI 就是在 HTML 文件中,可以通过注释行调用的命令或指针。SSI 具有强大的功能,只要使用一条简单的 SSI 命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行 shell 和 CGI 脚本程序等复杂的功能。 网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI 提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的 HTML 文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。
应用它可以把网站中一些公共区域做成独立的页面,然后利用此技术嵌入到其它需要此区域内容的页面中去。
机制:
SSI 机制是 动态包含,而不是静态生成,是由 web服务器比如 apache 在收到用户的请求时,如果解析到其中有 SSI 包含指令时,自动取出被包含的页面嵌入到被请求的页面中一起当做一个整体的页面发送给用户,对用户来说根本不知道服务器做了啥,只是知道得到一个完整的页面。
由 SSI 工作机制我们知道,包含动作是在每次用户请求页面时发生,所以如果被包含的页面内容有变化,也能实时的反应出来,正因为如此,就很容易用来实现静态页面的动态嵌入,我们就可以用来实现网站中全站公共区域,或是 出现很多的重复区域内容发布成一个独立静态页面,然后在需要的地方用SSI指令包含进去, 比如像全站的头部和尾部,全站最新新闻等等。
事实上,.html 的文件同样可以开启 SSI,只需在 apache 里进行相应的配置,一旦开启 SSI,.html 文件和 .shtml 文件可以一样对待了。
AddType text/html .shtml .htmlAddOutputFilter INCLUDES .shtml .html
具体配置方法可以参考 Apache下开启SSI配置使html支持include包含
至于 .shtm 文件,window7 apache 下直接在浏览器中打开了源码。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...
