Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Indy httpServer - Server Side Includes implementieren (https://www.delphipraxis.net/164899-indy-httpserver-server-side-includes-implementieren.html)

kuba 5. Dez 2011 13:36

Indy httpServer - Server Side Includes implementieren
 
Hallo,

ich experementiere gerade mit der indy WebKomponente httpServer und möchte gern wissen wie man Server Side Includes implementiert.

Beim Apache ganz einfach ssi_mod in der httpconf aktivieren.
Aber wie geht das wenn ich das mit meinem eigenen Webserver machen will ??

Gibts da irgendwo ein Tutorial ??

kuba

Sir Rufo 5. Dez 2011 13:53

AW: Indy httpServer - Server Side Includes implementieren
 
Eigentlich sollte dieser Link reichen.

Also, was macht ein Web-(HTML-)Server vom Grundprinzip?

Der liefert irgendwas im Text-(HTML-)Format.
Der Client ist dann dafür zuständig, dass dieses ominöse HTML-Gedöns vernünftig angezeigt wird.
(Das mit dem Protokoll lassen wir mal aussen vor, denn das ist nur ein bisserl Gerafffel drumherum)

Vereinfacht liefert der WebServer einen Text aus - Punkt.

Mit den SSI (Server Side Includes) kann man nun (im gewissen Rahmen) den ausgelieferten Text dynamisch anpassen.

Somit muss dein WebServer folgendes machen um SSI zu unterstützen:
  1. Text (z.B. aus einer Datei) einlesen
  2. Text nach
    Code:
    <!--#befehl parametername1="wert" parametername2="wert" -->
    durchforsten und entsprechend behandeln
  3. Den resultierenden Text ausliefern

himitsu 5. Dez 2011 14:32

AW: Indy httpServer - Server Side Includes implementieren
 
Apache-Mod's ... waren das DLLs oder wurde das in den Apache einkompiliert?


Wenn DLL, dann kannst du diese in deinem 'Programm aufrufen und von denen die Dateien interpretieren lassen.




Ansonsten kannst du es auch selber machen.
- Datei parsen
- die SSI-Befehle interpretieren/ausführen
- Ergebnisse in die Datei einbauen
- Datei via HTTP ausgeben

http://de.wikipedia.org/wiki/Server_Side_Includes

kuba 5. Dez 2011 20:47

AW: Indy httpServer - Server Side Includes implementieren
 
Hallo Himitsu,

eine ssi.dll vom Apache habe ich nicht gefunden, es gibt aber eine ssi.dll vom Internet Information Server. Da gibt es sicher urheberrechtliche Einschränkungen was die Weitergabe der DLL betrifft. Im Internet fand ich jedoch noch an anderer Stelle eine Freeware ssi.dll

Habe zwar schon mal mit einer DLL gearbeitet, aber mit Programmbeispielen. Wie bekomme ich denn heraus was in der DLL steht, bzw. welche Funktionen/Aufrufe darin enthalten sind ?

Ein SSI Turtorial habe ich auch gefunden, hilft mir jedoch momentan nicht wirklich weiter.

Ach ja, wie kann ich denn eine HTML-Datei im Webserver parsen ?

kuba

PS: gibts denn nirgendwo ein kleines Beispiel ? ...

sx2008 6. Dez 2011 04:21

AW: Indy httpServer - Server Side Includes implementieren
 
Sinn und Zweck der Indy HttpServer Komponente ist es eine normale Delphi-Anwendung oder auch ein Dienst zu einen kleinen Webserver zu erweitern.
Dieser Webserver erfüllt eine spezifische Aufgabe die der Programmierer bestimmt. (z.B. Konfiguration der Anwendung über's Web)

Ein allgemeiner Webserver wie Apache, Microsoft IIS, lighttpd,... dient einen anderen Zweck.
Diese Server haben den Anspruch möglichst viele Web-Clients zu bedienen und haben ausserdem
diverse Möglichkeiten über Plugins (CGI, SSI,... ) erweitert zu werden.
Zusätzlich gibt es Sicherheitsfeatures, Logging, Caching, Cookies usw.

Die Funktionalität die die Indy HttpServer Komponente bereitstellt beträgt höchstens 3% eines "richtigen Webservers".
Mit Delphi die SSI implementieren zu wollen lohnt den Aufwand nicht. (zumal SSI sowieso eine Technik in der Sackgasse ist)

kuba 6. Dez 2011 06:24

AW: Indy httpServer - Server Side Includes implementieren
 
Genau das habe ich mit dem Indy Webserver vor, er soll nur eine kleine Aufgabe erledigen, eine Einstellung/Konfiguration des Computers ermöglichen. Dass es sich nicht lohnt dafür SSI zu implementieren ist für mich eine wertvolle Aussage, da kann ich mir die Suche nach einer Lösung sparen und andere Ansätze verfolgen. Vielen Dank !!

kuba


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz