搜尋
首頁web前端html教學STHML 教學(一)

STHML 教學(一)

Apr 05, 2017 am 09:23 AM
html

什麼是 SHTML

使用SSI(Server Side Include)的html檔案副檔名,SSI(Server Side Include),通常稱為“伺服器端嵌入”或稱為“伺服器端包含”,是一種類似於ASP的基於伺服器的網頁製作技術。

SSI工作原理:

將內容傳送到瀏覽器之前,可以使用「伺服器端包含 (SSI)」指令將文字、圖形或應用程式資訊包含到網頁中。例如,可以使用 SSI 包含時間/日期戳記、版權聲明或供客戶填寫並傳回的表單。對於在多個文件中重複出現的文字或圖形,使用包含文件是一種簡單的方法。將內容存入一個包含文件中即可,而不必將內容輸入所有文件。透過一個非常簡單的語句即可呼叫包含文件,此語句指示 Web 伺服器將內容插入適當網頁。而且,使用包含文件時,對內容的所有變更只需在一個地方就能完成。

因為包含 SSI 指令的檔案要求特殊處理,所以必須為所有 SSI 檔案賦予 SSI 檔案副檔名。預設副檔名是 .stm、.shtm 和 .shtml。

Web 伺服器在處理網頁的同時處理 SSI 指令。當 Web 伺服器遇到 SSI 指令時,直接將包含文件的內容插入 HTML 網頁。如果「包含檔案」中包含 SSI 指令,則同時插入此檔案。除了用於包含檔案的基本指令之外,還可以使用 SSI 指令插入檔案的相關資訊(如檔案的大小)或執行應用程式或 shell 指令。

網站維護常常碰到的一個問題是,網站的架構已經固定,卻為了更新一點內容而不得不重做一大批網頁。 SSI提供了一種簡單、有效的方法來解決這個問題,它將一個網站的基本結構放在幾個簡單的HTML檔案中(範本),以後我們要做的只是將文字傳到伺服器,讓程式依照範本自動產生網頁,讓管理大型網站變得容易。

所以,利用SHTML格式的頁面目的和ASP 差不多,但是因為是API 所以運轉速度更快,效率更高,比ASP快,比HTML慢,但由於可以使用伺服器端包含,因此使頁面更新容易(特別是大量更新banner,版權等),想像一下吧,你有一段HTML,要在中間穿插一些特殊的服務端腳本,比如插入其他HTML 段落,你選擇ASP 來完成這個任務,但是如果任務更繁重,需要更多的時間,例如5 s,這時候你不用ASP 而用  SHTML,或許處理時間就只用4s 了。

SSI有什麼用?

之所以要扯到 SSI,是因爲 Shtml - Server-Parsed HTML 的縮寫。包含有嵌入式伺服器方包含指令的 HTML 文字。在傳送給瀏覽器之前,伺服器會對 SHTML 文件進行完全地讀取、分析以及修改。 shtml和asp 有一些相似,以shtml命名的檔案裡,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML檔案中寫入SSI指令,當客戶端存取這些shtml檔案時,伺服器端會把這些SHTML檔案讀取和解釋,把SHTML檔案中包含的SSI指令解釋出來例如:你可以在SHTML檔案中用SSI指令引用其他的html檔案(#include ),伺服器傳送給客戶端的文件,是已經解釋的SHTML不會有SSI指令。它實現了HTML所沒有的功能,就是可以實現了動態的SHTML,可以說是HTML的一種進化吧。像新浪的新聞系統就是這樣的,新聞內容是固定的但它上面的廣告和菜單等就是用#include引用進來的。

目前,主要有以下幾種用途:

  1. 顯示伺服器端環境變數

  2. 將文字內容直接插入文件中

  3. 顯示WEB文件相關資訊 (如檔案製作日期/大小等)

  4. 直接執行伺服器上的各種程式(如CGI或其他可執行程式)

  5. 設定SSI資訊顯示格式(如檔案製作日期/大小顯示方式)

進階SSI可設定變數使用if條件語句。

使用SSI

SSI是為WEB伺服器提供的一套指令,這些指令只要直接嵌入到HTML文件的註解內容之中即可。如:

#

就是一條SSI指令,其作用是將"info.htm"的內容拷貝到目前的頁面中,當訪客來瀏覽時,會看到其它HTML文件一樣顯示info.htm其中的內容。其它的SSI指令使用形式基本上同剛才的舉例差不多,可見SSI使用只是插入一點代碼而已,使用形式非常簡單。當然,如果WEB伺服器不支援SSI,它就會只不過將它當作註解訊息,直接跳過其中的內容;瀏覽器也會忽略這些資訊。

如何在我的WEB伺服器上設定SSI功能?

在某些WEB伺服器上(如IIS 4.0/SAMBAR 4.2),包含#include 指令的檔案必須使用已被對應到SSI 解釋程式的副檔名;否則,Web 伺服器將不會處理該SSI指令;預設情況下,擴充名.stm、.shtm 和.shtml 被映射到解釋程序(Ssinc.dll)。
Apache則是根據你的設定情況而定,修改srm.conf如:

# AddType text/x-server-parsed-html .shtml 將只對.shtml副檔名的檔案解析SSI指令
AddType text/x-server-parsed-html .html 將對所有HTML文件解析SSI指令

Netscape WEB伺服器直接使用 Administration Server(管理伺服器)可開啟SSI功能。
Website 使用 Server Admin 程式中的 Mapping 標籤,副檔名新增內容類型為:wwwserver/html-ssi
Cern 伺服器不支援SSI,可用SSI詐騙法,到 http://sw.cse.bris.ac.uk/WebTools/fakessi.html 上下載一個PERL腳本,即可讓你的CERN伺服器使用一些SSI指令。 (不支援exec指令。)
 

#  

以上是STHML 教學(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
說明將一致的編碼樣式用於HTML標籤和屬性的重要性。說明將一致的編碼樣式用於HTML標籤和屬性的重要性。May 01, 2025 am 12:01 AM

一致的HTML編碼風格很重要,因為它提高了代碼的可讀性、可維護性和效率。 1)使用小寫標籤和屬性,2)保持一致的縮進,3)選擇並堅持使用單引號或雙引號,4)避免在項目中混合使用不同風格,5)利用自動化工具如Prettier或ESLint來確保風格的一致性。

如何在 Bootstrap 4 中實現多項目輪播?如何在 Bootstrap 4 中實現多項目輪播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中實現多項目輪播的解決方案在Bootstrap4中實現多項目輪播並不是一件簡單的事情。雖然Bootstrap...

deepseek官網是如何實現鼠標滾動事件穿透效果的?deepseek官網是如何實現鼠標滾動事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

HTML 視頻的播放控件樣式怎麼修改HTML 視頻的播放控件樣式怎麼修改Apr 30, 2025 pm 03:18 PM

無法直接通過CSS修改HTML視頻的默認播放控件樣式。 1.使用JavaScript創建自定義控件。 2.通過CSS美化這些控件。 3.考慮兼容性、用戶體驗和性能,使用庫如Video.js或Plyr可簡化過程。

在手機上使用原生select會帶來哪些問題?在手機上使用原生select會帶來哪些問題?Apr 30, 2025 pm 03:15 PM

在手機上使用原生select的潛在問題在開發移動端應用時,我們常常會遇到選擇框的需求。通常情況下,開發者傾...

在手機上使用原生select的弊端是什麼?在手機上使用原生select的弊端是什麼?Apr 30, 2025 pm 03:12 PM

在手機上使用原生select的弊端是什麼?在移動設備上開發應用時,選擇合適的UI組件是非常重要的。許多開發者�...

如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?Apr 30, 2025 pm 03:09 PM

使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理在Three.js中使用Octree實現房間內的第三人稱漫遊並添加碰�...

在手機上使用原生select會遇到哪些問題?在手機上使用原生select會遇到哪些問題?Apr 30, 2025 pm 03:06 PM

使用原生select在手機上的問題在移動設備上開發應用時,我們經常會遇到需要用戶進行選擇的場景。雖然原生sel...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境