接下來咱們來了解下htm、shtml、html這三者之間區別。
首先htm、html、shtml都是靜態網頁的後綴,三者也能夠說都是隻是擴展名不一樣,其餘同樣,都是靜態的網頁。
Htm和html是徹底靜態的網頁不經過服務器編譯解釋直接送出給瀏覽器讀取的靜態網頁,以Htm和html僞靜態Request除外。php
html、htm、shtml、shtm均是靜態html網頁。都是網頁文件後綴名不一樣的html網頁擴展名。css
.html與.htm均是靜態網頁後綴名,網頁文件沒有區別與區分,html與htm後綴網頁後綴能夠互換,對網頁徹底沒有影響同時也沒有區別。能夠認爲html與htm沒有本質區別,惟一區別即多與少一個「L」。html
shtml命名的網頁文件裏,使用了ssi的一些指令,就像asp中的指令,你能夠在SHTML文件中寫入SSI指令,當客戶端訪問這些shtml文件時,服務器端會把這些SHTML文件進行讀取和解釋,把SHTML文件中包含的SSI指令解釋出來。web
而shtml與shtm後綴的網頁文件沒有區別,後綴名能夠互換,區別在於和html與htm同樣多與少「L」。apache
本質上都屬於靜態網頁一種,html屬於純靜態,客戶端瀏覽器讀取html文件是什麼就呈現給瀏覽者什麼內容。而shtml則可使用SSI。windows
SSI是爲WEB服務器提供的一套命令,這些命令只要直接嵌入到HTML文檔的註釋內容之中便可。如:
<!--#include file="info.htm"-->
就是一條SSI指令,其做用是將"info.htm"的內容拷貝到當前的頁面中,當訪問者來瀏覽時,會看到其它HTML文檔同樣顯示info.htm其中的內容。
加入咱們A頁面是shtml的靜態網頁,而A頁面裏咱們使用了include包含嵌入B靜態html頁面,若是你的服務器空間支持Shtml SSI這個時候咱們,瀏覽器打開A頁面時候,就會在A頁面顯示A本來內容以及B頁面內容,咱們查看網頁源代碼,不會發現B頁面引入痕跡,而是看到B頁面內容徹底在A頁面裏。
假如:
一、A shtml頁面裏內容是:
我包含頁面B:<!--#include file="b.html"-->
二、B html網頁內容:
我是B頁面內容
三、這個時候瀏覽器查看A頁面HTML源代碼:
A shtml頁面裏內容是:我是B頁面內容
這個就是shtml ssi 包含include魅力之處。
其它的SSI指令使用形式基本同剛纔的舉例差很少,可見SSI使用只是插入一點代碼而已,使用形式很是簡單。
固然,若是WEB服務器不支持SSI,它就會只不過將它看成註釋信息,直接跳過其中的內容;瀏覽器也會忽略被包含信息,咱們能夠查看源代碼看到include引入註解信息。瀏覽器
在一些WEB服務器上(如IIS 4.0/SAMBAR 4.2),包含 #include 指令的文件必須使用已被映射到 SSI 解釋程序的擴展名;不然,Web 服務器將不會處理該SSI指令;默認狀況下,擴展名 .stm、.shtm 和 .shtml 被映射到解釋程序(Ssinc.dll)。
詳細iis配置shtml與php apache配置SSI shtml,你們能夠在網絡上搜索相關教程文檔。服務器
shtml和shtm是服務器動態產生的靜態網頁,須要服務器自帶SSI處理出來靜態網頁。網絡
定義:html,htm是一個徹底的超文本靜態網頁——hypertext markup language
shtml是一種用於SSI技術的文件——Server Side Include--SSI。ide
shtml是什麼格式,比html有何好處? shtml,html格式是差很少,shtml主要可使用include(包含html),通過服務器生成靜態頁面。
Shtml的頁面可使用include嵌入另外的html頁面這樣可使得一個網站裏共用相同辦法分離出來使用include來嵌入到靜態頁面裏。靜態頁面則不能!
Shtml使用方法
<!--#include file="網頁文件地址"-->
假如一個網站頭部和導航、底部各個頁面徹底相同,則能夠分離出這些部分分別放到一個html頁面裏,而後使用include嵌入到一個shtml頁面裏。特別說明html和htm不能使用include,即便使用也無效。
要想服務器能解析shtml網頁頁面,必須在服務器IIS中開SSI。
windows 2003下 解決.shtml的文件不能訪問shtml在2003下默認不支持,要支持的話能夠作以下修改:
1:在主機管理-管理-自定義Mime類型 中,添加 擴展名 .shtml Mime類型爲text/html 通常就能夠了 若是嵌套的語法不行,則須要作第二步修改
2:在服務器的配置裏添加個映射:c:/windows/system32/inetsrv/ssinc.dll 擴展名.shtml 動做限於GET,POST
2003的系統下要記的在IIS管理器裏的web服務擴展裏把 在服務器端的包含文件 修改成 容許
最後最好重啓下服務器。
以上div css講解和說明介紹了htm、html、shtml之間的區別,相信經過此文介紹對這三者之間有必定了解和認識。
如需轉載,請註明文章出處和來源網址:http://www.divcss5.com/html/h59.shtml