AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Indy httpServer - Server Side Includes implementieren
Thema durchsuchen
Ansicht
Themen-Optionen

Indy httpServer - Server Side Includes implementieren

Ein Thema von kuba · begonnen am 5. Dez 2011 · letzter Beitrag vom 6. Dez 2011
Antwort Antwort
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#1

Indy httpServer - Server Side Includes implementieren

  Alt 5. Dez 2011, 14:36
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
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Indy httpServer - Server Side Includes implementieren

  Alt 5. Dez 2011, 14:53
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Indy httpServer - Server Side Includes implementieren

  Alt 5. Dez 2011, 15:32
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
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Indy httpServer - Server Side Includes implementieren

  Alt 5. Dez 2011, 21:47
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 ? ...
Stefan Kubatzki
E=mc2

Geändert von kuba ( 5. Dez 2011 um 21:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Indy httpServer - Server Side Includes implementieren

  Alt 6. Dez 2011, 05:21
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)

Geändert von sx2008 ( 6. Dez 2011 um 05:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Indy httpServer - Server Side Includes implementieren

  Alt 6. Dez 2011, 07:24
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
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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