Heim  >  Artikel  >  Web-Frontend  >  Shtml optimierte Tutorial_HTML/Xhtml_Webseitenproduktion

Shtml optimierte Tutorial_HTML/Xhtml_Webseitenproduktion

WBOY
WBOYOriginal
2016-05-16 16:42:152007Durchsuche

Es gibt einige Ähnlichkeiten zwischen shtml und asp. In der Datei namens shtml werden einige SSI-Anweisungen verwendet, genau wie die Anweisungen in asp. Sie können SSI-Anweisungen in die SHTML-Datei schreiben Der Server liest und interpretiert diese SHTML-Dateien und interpretiert die in den SHTML-Dateien enthaltenen SSI-Anweisungen. Beispiel: Sie können SSI-Anweisungen in der SHTML-Datei verwenden, um auf andere HTML-Dateien zu verweisen (#include), und der Server sendet sie an den Client . Dateien, die bereits als SHTML interpretiert wurden, verfügen nicht über SSI-Anweisungen. Es realisiert eine Funktion, die HTML nicht hat, nämlich SHTML, das dynamisches
realisieren kann, was als eine Weiterentwicklung von HTML bezeichnet werden kann. Das Nachrichtensystem von Sina ist so: Der Nachrichteninhalt ist festgelegt, aber die darin enthaltenen Anzeigen und Menüs werden mit #include referenziert.
Derzeit gibt es hauptsächlich die folgenden Verwendungszwecke:
1. Anzeige serverseitiger Umgebungsvariablen
2. Einfügen von Textinhalten direkt in das Dokument
3 Informationen
(z. B. Dateierstellungsdatum/-größe usw.) 4. Führen Sie verschiedene Programme direkt auf dem Server aus
(z. B. CGI oder andere ausführbare Programme) 5 Informationsanzeigeformat
(z. B. Dateierstellungsdatum/Anzeigemethode für Dateigröße) Advanced SSI
kann Variablen mithilfe von if-Bedingungsanweisungen festlegen.
Verwendung von SSI
SSI ist eine Reihe von Befehlen, die für den WEB-Server bereitgestellt werden. Diese Befehle können direkt in den Kommentarinhalt des HTML-Dokuments eingebettet werden. Beispiel:

ist ein SSI-Befehl. Seine Funktion besteht darin, den Inhalt von „info.htm“ auf die aktuelle Seite zu kopieren .htm-Inhalt.
Die Verwendungsform anderer SSI-Befehle ist grundsätzlich dieselbe wie im Beispiel. Es ist ersichtlich, dass für die SSI-Verwendung nur ein wenig Code eingefügt werden muss und die Verwendungsform sehr einfach ist.
Wenn der WEB-Server SSI nicht unterstützt, behandelt er diese natürlich nur als Anmerkungsinformationen und überspringt den Inhalt direkt; der Browser ignoriert diese Informationen ebenfalls.

Wie konfiguriere ich die SSI-Funktion auf meinem WEB-Server?
Auf einigen WEB-Servern (z. B. IIS 4.0/SAMBAR 4.2) müssen Dateien, die #include-Anweisungen enthalten, eine Erweiterung verwenden, die dem SSI-Interpreter zugeordnet wurde. Andernfalls verarbeitet der Webserver die SSI-Anweisung nicht. Die Erweiterungen .stm, .shtm und .shtml werden dem Interpreter (Ssinc.dll) zugeordnet.
Apache hängt von Ihren Einstellungen ab, z. B.:
AddType text/x-server-parsed-html .shtml analysiert nur SSI-Anweisungen für Dateien mit der Erweiterung .shtml
AddType text/x- server-parsed-html .html analysiert SSI-Anweisungen für alle HTML-Dokumente
Der Netscape-WEB-Server kann den Administrationsserver direkt verwenden, um die SSI-Funktion zu aktivieren.
Die Website verwendet das Mapping-Tag im Server Admin-Programm und der der Erweiterung hinzugefügte Inhaltstyp ist: wwwserver/html-ssi
Der Cern-Server unterstützt SSI nicht. Sie können die SSI-Betrugsmethode verwenden. Gehen Sie zu http ://sw.cse.bris. Laden Sie ein PERL-Skript von ac.uk/WebTools/fakessi.html herunter, damit Ihr CERN-Server einige SSI-Befehle verwendet. (Der Befehl exec wird nicht unterstützt.)

Grundformat des SSI-Befehls
Grundformat des SSI-Befehls:
Programmcode:



Zum Beispiel
Programmcode:



Anleitung:
1.
ist ein Kommentar in HTML-Syntax. Wenn der WEB-Server SSI nicht unterstützt, werden diese Informationen ignoriert. 2. #include ist eine der SSI-Anweisungen.
3. file ist der Parameter von include, info.htm ist der Parameterwert, der sich in diesem Befehl auf den Namen des einzubindenden Dokuments bezieht.

Hinweis:

1. Zwischen


Name dieses Dokuments: Programmcode:



Jetzt Zeit: Programmcode:



Ihre IP-Adresse ist Programmcode:




#include Demonstration
Funktion:
Fügen Sie den Inhalt der Textdatei direkt in die Dokumentseite ein.
Syntax:
Programmcode:





Datei Der Dateiname ist ein relativer Pfad, Der Pfad ist relativ zum Verzeichnis, das das Dokument enthält, indem die #include-Direktive verwendet wird. Die eingebundene Datei kann sich im Verzeichnis derselben Ebene oder dessen Unterverzeichnis befinden, jedoch nicht im Verzeichnis der höheren Ebene. Wenn es beispielsweise das Dokument nav_head.htm im aktuellen Verzeichnis darstellt, lautet es file="nav_head.htm".
Der virtuelle Dateiname ist der vollständige Pfad zum virtuellen Verzeichnis auf der Website. Beispielsweise stellt sie die Datei nav_head.htm im Verzeichnis hoyi unter dem Stammverzeichnis des Serverdokuments dar; sie lautet file="/hoyi/nav_head.htm"
Parameter:
file gibt den Speicherort der enthaltenen Datei relativ an zu diesem Dokument
virtuell gibt den Speicherort relativ zum Stammverzeichnis des Serverdokuments an
Hinweis:
1 Der Dateiname muss eine Erweiterung haben.
2. Die enthaltenen Dateien können eine beliebige Dateierweiterung haben. Ich denke, es ist am bequemsten, die Erweiterung .inc zu verwenden (dies hängt von Ihrer Präferenz ab).



Beispiel:
Programmcode:





Header-Datei in die aktuelle Seite einfügen
Fügen Sie die Tail-Datei in die aktuelle Seite ein
Fügen Sie die Header-Datei in die aktuelle Seite ein
Fügen Sie die Tail-Datei in die aktuelle Seite ein

#flastmod und #fsize-Demo
Funktion: #flastmod-Datei, letztes Aktualisierungsdatum
#fsize-Dateilänge
Syntax:
Programmcode:





Parameter:
Datei gibt den Speicherort der enthaltenen Datei relativ zu diesem Dokument an, z. B. info.txt stellt das info.txt-Dokument im aktuellen Verzeichnis dar.
virtuell gibt an der Speicherort relativ zum Stammverzeichnis des Serverdokuments. Ein Speicherort wie /hoyi/info.txt bedeutet
Hinweis:
Der Dateiname muss eine Erweiterung haben.
Beispiel:
Programmcode:



Fügen Sie das neueste Aktualisierungsdatum der Datei news.htm im aktuellen Verzeichnis in die aktuelle Seite ein
Programmcode:



Fügen Sie die Dateigröße von news.htm im aktuellen Verzeichnis in die aktuelle Seite ein

#exec Demonstration
Funktion:
Fügen Sie die Ausgabe eines externen Programms in die Seite ein. Es kann in CGI-Programme oder als Eingabe für reguläre Anwendungen eingefügt werden, je nachdem, ob die verwendeten Parameter cmd oder cgi sind.
Syntax:
Programmcode:





Parameter:
cmd reguläre Anwendung
CGI-CGI-Skriptprogramm
Beispiel:
Programmcode:

Zeigt die Passwortdatei an
Zeigt die Dateiliste im aktuellen Verzeichnis an
Das CGI-Programm gb.cgi wird ausgeführt.
Das CGI-Programm access_log.cgi wird ausgeführt.
Die Passwortdatei wird angezeigt
Die Dateiliste im aktuellen Verzeichnis wird angezeigt
Das CGI-Programm gb.cgi wird ausgeführt.
Das CGI-Programm access_log.cgi wird ausgeführt.
Hinweis:
Wie Sie dem obigen Beispiel entnehmen können, ist dieser Befehl recht praktisch, weist jedoch auch Sicherheitsprobleme auf.
Verbotsmethode:
. Apache, löschen Sie die Zeile „Options Includes ExecCGI“ in access.conf
. Um in IIS den Befehl #exec zu deaktivieren, können Sie die Metabasis SSIExecDisable ändern. Funktion: Geben Sie das Format der Fehlerinformationen, das Datum und die Dateigröße an, die an den Client-Browser zurückgegeben werden.
Syntax:
Programmcode:








Parameter: errmsg Passen Sie SSI-Ausführungsfehlermeldungen nach Ihren Wünschen an.
sizefmt-Anzeigemodus für die Dateigröße, der Standardwert ist der Byte-Modus („Bytes“) und kann in den Kilobyte-Modus („abbrev“) geändert werden.
timefmt-Zeitanzeigemodus, das flexibelste Konfigurationsattribut.
Beispiel: Größe einer nicht existierenden Datei anzeigen
Programmcode:






In Tausend. Dateigröße in Bytes anzeigen


Programmcode:









Zeit in einem bestimmten Zeitformat anzeigenProgrammcode:



Wochentag, Monat und Uhrzeit anzeigen Zone ist heute



Zeigt den Wochentag, den Monat und die heutige Zeitzone an:



XSSI
XSSI (Extended SSI) ist eine Reihe von SSI-Anweisungen auf hoher Ebene, die in das Mod-Include-Modul von Apache 1.2 oder höher integriert sind.
Die verfügbaren Anweisungen sind:
#printenv
#set
#if
#printenv
Funktion: Alle derzeit in der WEB-Serverumgebung vorhandenen Umgebungsvariablen anzeigen.
Syntax: Programmcode:



Parameter: Keine
Beispiel:
Programmcode:




#set
Funktion: Sie können einer Variablen einen Wert zur Verwendung in der nachfolgenden if-Anweisung zuweisen.
Syntax: Programmcode:



Parameter: Keine
Beispiel: Programmcode:




#if
Funktion: Erstellen Sie eine Seite, die Daten ändern kann. Die Daten werden gemäß den bei Verwendung der if-Anweisung berechneten Anforderungen angezeigt.
Syntax: Programmcode:


Inhalt anzeigen

Inhalt anzeigen

Inhalt anzeigen


Inhalt anzeigen

Inhalt anzeigen

Inhalt anzeigen

Beispiel:
Programmcode:


Willkommen im Diskussionsforum zur Serversicherheit http://www.31896.net/.

Willkommen bei Fineacer Computer Network Security Online http://www.fineacer.org/.

Willkommen im Diskussionsforum zur Serversicherheit!


Willkommen im Diskussionsforum zur Serversicherheit http://www.31896.net/.

Willkommen bei Fineacer Computer Network Security Online http://www.fineacer.org/.

Willkommen im Diskussionsforum zur Serversicherheit!

Hinweis: Der in der vorherigen Direktive verwendete Backslash wird verwendet, um interne Anführungszeichen zu ersetzen, sodass sie nicht als Abschluss des Ausdrucks interpretiert werden. Kann nicht weggelassen werden.


1. Config-Befehl

Der Config-Befehl wird hauptsächlich zum Ändern der Standardeinstellungen von SSI verwendet. Darunter:

Errmsg: Legen Sie die Standardfehlermeldung fest. Um die vom Benutzer festgelegte Fehlermeldung normal zurückzugeben, muss der Parameter Errmsg vor anderen SSI-Befehlen in der HTML-Datei platziert werden. Andernfalls kann der Client nur die Standardfehlermeldung anstelle der vom Benutzer festgelegten benutzerdefinierten Nachricht anzeigen.



Timefmt: Definieren Sie das für Datum und Uhrzeit verwendete Format. Der Parameter Timefmt muss vor dem Echo-Befehl verwendet werden.






Das Ergebnis ist:

Mittwoch, 12. April 2000

Vielleicht Benutzer sind mit dem im obigen Beispiel verwendeten %A %B %d sehr unbekannt. Nachfolgend fassen wir einige der am häufigsten verwendeten Datums- und Zeitformate in SSI in Tabellenform zusammen.

Sizefmt: Legt fest, ob die Dateigröße in Bytes, Kilobytes oder Megabytes ausgedrückt wird. Bei Bytes lautet der Parameterwert „Bytes“. Für Kilobyte und Megabyte können Abkürzungen verwendet werden. Ebenso muss der sizefmt-Parameter vor dem zu verwendenden fsize-Befehl platziert werden.




2. Include-Befehl

Der Include-Befehl kann Text oder Bilder aus anderen Dokumenten in das aktuell analysierte Dokument einfügen der Schlüssel zum gesamten SSI. Mit dem Befehl „Einschließen“ müssen Sie nur eine Datei ändern, um die gesamte Site sofort zu aktualisieren! Der Befehl

Include hat zwei verschiedene Parameter:

Virtual: Gibt einen virtuellen Pfad zu einem Dokument auf der Serverseite an. Beispiel:



Datei: gibt den relativen Pfad zum aktuellen Verzeichnis an, wobei „../“ nicht verwendet werden kann und absolute Pfade nicht verwendet werden können. Beispiel:



Dies erfordert, dass jedes Verzeichnis eine header.html-Datei enthält.

3. Echo-Befehl

Der Echo-Befehl kann die folgenden Umgebungsvariablen anzeigen:

DOCUMENT_NAME: Zeigt den Namen des aktuellen Dokuments an.



Das angezeigte Ergebnis ist:

index.html

DOCUMENT_URI: Zeigt den virtuellen Pfad des aktuellen Dokuments an. Zum Beispiel:



Das angezeigte Ergebnis ist:

/IhrVerzeichnis/IhrDateiname.html

Während sich die Website weiterentwickelt, werden diese immer längeren URL-Adressen den Leuten definitiv Kopfzerbrechen bereiten . Wenn Sie SSI verwenden, wird alles gelöst. Weil wir den Domänennamen der Website und den SSI-Befehl kombinieren können, um die vollständige URL anzuzeigen, das heißt:

http://yourdomain

QUERY_STRING_UNESCAPED: Zeigt die URL ohne Escapezeichen an In der vom Client gesendeten Abfragezeichenfolge wird allen Sonderzeichen das Escape-Zeichen „“ vorangestellt. Beispiel:



DATE_LOCAL: Zeigt Datum und Uhrzeit in der vom Server eingestellten Zeitzone an. Benutzer können die Ausgabeinformationen anpassen, indem sie den Parameter timefmt des Befehls config kombinieren. Zum Beispiel:


 

Das angezeigte Ergebnis ist:

Samstag, der 15. April im Jahr 2000

DATE_GMT: Die Funktion ist dieselbe wie DATE_LOCAL, außer dass sie ein Datum basierend auf der Greenwich Mean Time zurückgibt. Zum Beispiel:



LAST_MODIFIED: Zeigt die letzte Aktualisierungszeit des aktuellen Dokuments an. Dies ist ebenfalls eine sehr praktische Funktion in SSI. Solange Sie die folgende einfache Textzeile zum HTML-Dokument hinzufügen, kann die Aktualisierungszeit dynamisch auf der Seite angezeigt werden.



CGI-Umgebungsvariablen

Zusätzlich zu SSI-Umgebungsvariablen kann der Echo-Befehl auch die folgenden CGI-Umgebungsvariablen anzeigen:

SERVER_SOFTWARE : Zeigt den Namen und die Version der Serversoftware an. Beispiel:

SERVER_NAME: Zeigt den Hostnamen, den DNS-Alias ​​oder die IP-Adresse des Servers an. Beispiel:

SERVER_PROTOCOL: Zeigt den Protokollnamen und die Version an, die von der Clientanforderung verwendet werden, z. B. HTTP/1.0. Beispiel:

SERVER_PORT: Zeigt den Antwortport des Servers an. Beispiel:

REQUEST_METHOD: Zeigt die Dokumentanforderungsmethode des Clients an, einschließlich GET, HEAD und POST. Beispiel:

REMOTE_HOST: Zeigt den Client-Hostnamen an, der die angeforderten Informationen ausgegeben hat.

REMOTE_ADDR: Zeigt die IP-Adresse des Clients an, der die Anforderungsinformationen ausgegeben hat.

AUTH_TYPE: Zeigt die Überprüfungsmethode der Benutzeridentität an.

REMOTE_USER: Zeigt den Kontonamen an, der vom Benutzer verwendet wird, der auf die geschützte Seite zugegriffen hat.




4. Fsize: Zeigt die Größe der angegebenen Datei an. Das Ausgabeformat kann durch Kombination des sizefmt-Parameters des Konfigurationsbefehls angepasst werden.






5. Flastmod: Zeigt das letzte Änderungsdatum der angegebenen Datei an und kann mit dem timefmt-Parameter des config-Befehls kombiniert werden um das Ausgabeformat zu steuern.




Hier können wir den Flashmod-Parameter verwenden, um das Aktualisierungsdatum aller verlinkten Seiten einer Seite anzuzeigen. Die Methode ist wie folgt:


Datei

Eine andere Datei

Ergebnisse anzeigen für:
Datei 19. April 2000
Eine andere Datei 08. Januar 2000

6. Exec

Der Exec-Befehl kann CGI-Skripte oder Shell-Befehle ausführen. Die Verwendung ist wie folgt:

Cmd: Verwenden Sie /bin/sh, um die angegebene Zeichenfolge auszuführen. Wenn SSI die Option IncludesNOEXEC verwendet, wird dieser Befehl blockiert.

Cgi: Kann zum Ausführen von CGI-Skripten verwendet werden. Im folgenden Beispiel wird beispielsweise das Skript counter.pl im Verzeichnis cgi-bin des Servers verwendet, um auf jeder Seite einen Zähler zu platzieren:

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn