国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

簡單來學SHTML

2024-08-25 23:54:19
字體:
來源:轉載
供稿:網友

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<XSSI>可設置變量使用if條件語句。

使用SSI

SSI是為WEB服務器提供的一套命令,這些命令只要直接嵌入到HTML文檔的注釋內容之中即可。如:

<!--#include file="info.htm"-->

就是一條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詐騙法,到替換sw.cse.bris.ac.uk/WebTools/fakessi.html 上下載一個PERL腳本,即可使你的CERN服務器使用一些SSI指令。(不支持exec指令。)

SSI指令基本格式:

程序代碼:

<!-– 指令名稱="指令參數">

<!-– 指令名稱="指令參數">

如程序代碼:

<!--#include file="info.htm"-->

<!--#include file="info.htm"-->

說明:

(1)<!-- -->是HTML語法中表示注釋,當WEB服務器不支持SSI時,會忽略這些信息。

(2)#include 為SSI指令之一。

(3)file 為include的參數, info.htm為參數值,在本指令中指將要包含的文檔名。

注意:

(1)<!--與#號間無空ge,只有SSI指令與參數間存在空ge。

(2)上面的標點="",一個也不能少。

(3)SSI指令是大小寫敏感的,因此參數必須是小寫才會起作用。

SSI指令使用詳解

#echo 示范

作用: 將環境變量插入到頁面中。

語法: 程序代碼:

<!--#echo var="變量名稱"-->

<!--#echo var="變量名稱"-->

本文檔名稱:程序代碼:

<!--#echo var="DOCUMENT_NAME"-->

<!--#echo var="DOCUMENT_NAME"-->

現在時間:程序代碼:

<!--#echo var="DATE_LOCAL"-->

<!--#echo var="DATE_LOCAL"-->

你的IP地址是程序代碼:

<!--#echo var="REMOTE_ADDR"-->

<!--#echo var="REMOTE_ADDR"-->

#include 示范

作用:

將文本文件的內容直接插入到文檔頁面中。

語法: 程序代碼:

<!--#include file="文件名稱"-->

<!--#include virtual="文件名稱"-->

<!--#include file="文件名稱"-->

<!--#include virtual="文件名稱"-->

file 文件名是一個相對路徑,該路徑相對于使用 #include 指令的文檔所在的目錄。被包含文件可以在同一級目錄或其子目錄中,但不能在上一級目錄中。如表示當前目錄下的的nav_head.htm文檔,則為

file="nav_head.htm"。

virtual 文件名是 Web 站點上的虛擬目錄的完整路徑。如表示相對于服務器文檔根目錄下hoyi目錄下的nav_head.htm文件;則為file="/hoyi/nav_head.htm"

參數: file 指定包含文件相對于本文檔的位置 virtual 指定相對于服務器文檔根目錄的位置

注意:

(1)文件名稱必須帶有擴展名。

(2)被包含的文件可以具有任何文件擴展名,我覺得直接使用htm擴展名最方便,微軟公司推薦使用 .inc 擴展名(這就看你的愛好了)。

示例: 程序代碼:

<!--#include file="nav_head.htm"-->將頭文件插入到當前頁面

<!--#include file="nav_foot.htm"-->將尾文件插入到當前頁面

<!--#include file="nav_head.htm"-->將頭文件插入到當前頁面

<!--#include file="nav_foot.htm"-->將尾文件插入到當前頁面

#flastmod 和#fsize 示范

作用: #flastmod 文件最近更新日期

#fsize 文件的長度

語法: 程序代碼:

<!--#flastmod file="文件名稱"-->

<!--#fsize file="文件名稱"-->

<!--#flastmod file="文件名稱"-->

<!--#fsize file="文件名稱"-->

參數: file 指定包含文件相對于本文檔的位置 如 info.txt 表示當前目錄下的的info.txt文檔

virtual 指定相對于服務器文檔根目錄的位置 如 /hoyi/info.txt 表示

注意: 文件名稱必須帶有擴展名。

示例: 程序代碼:

<!--#flastmod file="news.htm"-->

<!--#flastmod file="news.htm"-->

將當前目錄下news.htm文件的最近更新日期插插入到當前頁面

程序代碼:

<!--#fsize file="news.htm"-->

<!--#fsize file="news.htm"-->

將當前目錄下news.htm的文件大小入到當前頁面

#exec 示范

作用: 將某一外部程序的輸出插入到頁面中。可插入CGI程序或者是常規應用程序的輸入,這取決于使用的參數是cmd還是cgi。

語法: 程序代碼:

<!--#exec cmd="文件名稱"-->

<!--#exec cgi="文件名稱"-->

<!--#exec cmd="文件名稱"-->

<!--#exec cgi="文件名稱"-->

參數: cmd 常規應用程序 cgi CGI腳本程序

示例: 程序代碼:

<!--#exec cmd="cat /etc/passwd"-->將會顯示密碼文件

<!--#exec cmd="dir /b"-->將會顯示當前目錄下文件列表

<!--#exec cgi="/cgi-bin/gb.cgi"-->將會執行CGI程序gb.cgi。

<!--#exec cgi="/cgi-bin/access_log.cgi"-->將會執行CGI程序access_log.cgi。

<!--#exec cmd="cat /etc/passwd"-->將會顯示密碼文件

<!--#exec cmd="dir /b"-->將會顯示當前目錄下文件列表

<!--#exec cgi="/cgi-bin/gb.cgi"-->將會執行CGI程序gb.cgi。

<!--#exec cgi="/cgi-bin/access_log.cgi"-->將會執行CGI程序access_log.cgi。

注意:從上面的示例可以看出,這個指令相當方便,但是也存在安全問題。

禁止方法: .Apache,將access.conf中的"Options Includes ExecCGI"這行代碼刪除;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜黄县| 赤水市| 福清市| 日喀则市| 涞水县| 安仁县| 稷山县| 余干县| 环江| 张掖市| 渑池县| 蒙山县| 陕西省| 宜都市| 平凉市| 剑川县| 永州市| 溧阳市| 阳高县| 巫山县| 罗源县| 万州区| 宜兴市| 双流县| 刚察县| 濮阳县| 湘潭市| 全南县| 辰溪县| 新丰县| 缙云县| 孙吴县| 塔河县| 兰坪| 旺苍县| 平遥县| 德安县| 金阳县| 柳州市| 隆子县| 巴楚县|