首頁 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. 顯示伺服器端環境變數<#echo>

  2. 將文字內容直接插入文件中<#include>

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

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

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

進階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

熱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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

See all articles