Einstieg ins Backend / Rechenzentrum
Browser greift direkt auf lokale Dateien zu
"file"-Protokoll
Browser ruft Website von einem Web-Server ab
"http"-Protokoll
Hypertext Transport Protocol
Verarbeiten von HTTP-Anfragen
nur Individualanteil selbst machen
Template-Ansatz: Tags innerhalb der HTML-Datei (.shtlm, .shtm, .sht)
<!--#SSI-Befehl parametername="parameterwert" -->
Ausführen einfacher Anweisungen, z.B.:
<body>
Dynamisches HTML mit Server Side Includes
- Datum/Uhrzeit auf dem Server-Rechner:
-
Uhr
- Name dieser HTML-Datei:
-
- Installierte Server-Software:
-
- Ihr Web-Browser:
-
</body>
Quelle: SelfHTML
Vorteile:
Nachteile:
Schnittstelle um getrennte Prozesse zu vereinheitlichen
Standardisiert als RFC3875
HTTP – Aufruf wird an Prozess weitergereicht
#!/usr/bin/perl -w
read(STDIN, my $Daten, $ENV{'CONTENT_LENGTH'});
my @Formularfelder = split(/&/, $Daten);
my ($Feld, $Name, $Wert);
my %Formular;
foreach $Feld (@Formularfelder) {
(my $Name, my $Wert) = split(/=/, $Feld);
$Formular{$Name} = $Wert;
}
print "Content-type: text/html\n\n";
print '<!doctype html>', "\n";
print "<html><head>title>CGI-Feedback</title></head>\n";
print "CGI-Feedback vom Programm comments.pl
\n";
print "Name: $Formular{AnwenderName}
\n";
print "Kommentartext: $Formular{Kommentartext}
\n";
print "</body></html>\n";
Vorteile:
Nachteile:
Schnittstelle zur Erweitung des Apache Webservers
Viele Module frei verfügbar: PHP, Perl, Python, ...
Vorteile:
Nachteile:
Proprietäre Schnittstelle von Microsoft für
Aufgerufene Prozesse laufen als dll (Dynamic Link Library) im Prozess des Servers
Diverse Call-Backs an Server (z.B. CHttpServerContext)
DLL für diverse Programmiersprachen verfügbar
(ASP, ASP.NET, PERL, PHP)
Vorteile:
Nachteile:
Alle bisher vorgestellten Systeme machen ~kaum Einschränkungen. "Mein Code" kann in ~allen Sprachen geschrieben werden.
Skriptsprache auswählen (z.B. PERL), Skript kann über verschiedene Schnittstellen angesprochen werden
Web-Server Funktionalität/Kommunikation via HTTP wurde immer normaler
Kano-Model
Web-Server geschrieben in der gleichen Programmiersprache wie "Mein Code"