Technologien von Serverprogrammiersprachen und Datenbanken. Web-Programmiersprachen: Client und Server

Web-Mastering. Server-Webprogrammierung

Im Ranking der attraktivsten und gefragtesten Berufe in der IT können wir den Webmaster getrost auf den ersten Platz setzen – mit diesem Begriff sind im Großen und Ganzen Spezialisten gemeint, die Websites entwickeln und betreuen. Heutzutage strebt jedes seriöse Unternehmen den Erwerb einer eigenen Website oder Webseite an und benötigt dafür qualifizierte Fachkräfte.

Entwickler, Programmierer, Layouter und Optimierer sind wertvolle Mitarbeiter in russischen und internationalen Unternehmen. Ihnen wird ein angemessenes Gehalt und attraktive Arbeitsbedingungen geboten: Unternehmensvorteile, interessante Projekte, Karriereentwicklung, flexible Zeitpläne. Dank der stabilen Nachfrage nach seinen Dienstleistungen kann es sich ein Webmaster leisten, als Freiberufler zu arbeiten: Er wählt Kunden selbst aus, ohne sich bei seinem „Onkel“ zu melden, während er in seinem Lieblingssessel zu Hause oder in einem Hotel am Meer sitzt.

Wenn Sie sich für die Entwicklung von Websites entscheiden, müssen Sie die Funktionsweise eines Webservers genau verstehen. Es ist die Kenntnis des HTTP-Protokolls, die einen Webmaster zu einem Profi auf seinem Gebiet macht und es ihm ermöglicht, Probleme beim Erstellen von Websites einfach zu lösen. Ein Fachmann, der diese Tatsache vernachlässigt, schreibt bei einem Problem umständlichen Programmcode und erkennt nicht einmal, dass es mit ein oder zwei Zeilen in der Webserver-Konfiguration gelöst werden kann.

Unser Kurs „Webmastering. Server-Webprogrammierung" wird Ihnen helfen, die Mechanismen eines Webservers zu erlernen und praktische Verwaltungskenntnisse zu erwerben. Es wird für Absolventen von Regiekursen nützlich sein PHP, ASP.Net etc. und für Studierende, die gerade diese Ausbildung planen. Der Kurs kann Absolventen webbasierter Kurse empfohlen werden, wenn die Studierenden den eigentlichen Kurs nicht belegt haben.

Während des Unterrichts schauen Sie sich den IIS-Server an, der Teil der Linie ist Betriebssystem Windows 8/7 Und Windows Server 2012/2008, sowie der Server Apache-Versionen 2.2-2.4, oft auf der Plattform verwendet Unix. Der Lehrer wird sich mit wichtigen Themen im Zusammenhang mit der Sicherheit befassen: Authentifizierungsmechanismen, Benutzerautorisierungsszenarien, Einrichten und Verwenden von SSL, Arbeiten mit SSL-Zertifikaten, Verwendung des Apache-Servermoduls mod_rewrite.

Sie setzen das erworbene Wissen in die Praxis um: Der 24-Stunden-Kurs umfasst 13 Laborarbeiten. Nach Abschluss des Kurses sind Sie in der Lage, IIS- und Apache 2.2-2.4-Server selbstständig zu administrieren, Content-Caching zu verwalten, SSL zu verwenden und mit RFC-Spezifikationen zu arbeiten. Ihre Fähigkeiten und Fertigkeiten werden durch die prestigeträchtigen Dokumente des Zentrums bestätigt: ein Zertifikat und ein Zertifikat über die Fortbildung.

Eine erfolgreiche Karriere als Webprogrammierer beginnt mit diesem Kurs! Melden Sie sich für den Kurs an!

Nach Abschluss des Kurses sind Sie in der Lage:

  • Kennen und verstehen Sie das HTTP/1.1-Protokoll
  • IIS-Server verwalten
  • Apache 2.2–2.4-Server verwalten
  • Verwalten Sie das Inhalts-Caching
  • Verwenden Sie Server-Handler und -Module
  • Benutverstehen
  • Verwenden Sie SSL
  • Arbeiten Sie mit RFC-Spezifikationen
Fachkräfte mit diesen Kenntnissen und Fähigkeiten sind derzeit sehr gefragt. Die meisten unserer Kursabsolventen schlagen eine erfolgreiche Karriere ein und werden von Arbeitgebern respektiert.

Verkäufer

Um den Inhalt anzuzeigen, den Sie benötigen

Programmiersprachen, die Ihnen die Arbeit mit Internet-Technologien ermöglichen, werden als Web-Programmiersprachen bezeichnet (im Folgenden der Einfachheit halber als WPLs bezeichnet). Einige von ihnen wurden einst speziell für bestimmte Ressourcen erstellt und erlangten erst viel später große Bekanntheit. PHP zum Beispiel.

WEB-ProgrammierungAlle Sprachen sind in Server und Client unterteilt:

Client-Webprogrammiersprachen


In Clientsprachen geschriebene Programme werden vom Browser verarbeitet. Mit anderen Worten: Sie werden vom Client des Benutzers verarbeitet. Daher der Name. Daraus ergibt sich der Nachteil: Wie das Programm (Skript) abgearbeitet wird, hängt direkt vom Browser ab. Der Benutzer kann es sogar so einstellen, dass Ihr Skript vollständig ignoriert wird.

Darüber hinaus unterstützt ein zu alter Browser möglicherweise nicht die Sprache oder Version der Sprache, in der das Programm geschrieben ist. Hier ist jedoch anzumerken, dass dies recht selten vorkommt, da Atomsprengköpfe nicht sehr oft aktualisiert werden.

Der Programmcode eines in einer clientseitigen Sprache erstellten Skripts kann von jedem eingesehen werden, indem man beispielsweise mit der rechten Maustaste auf die Seite klickt und im Kontextmenü (je nach Browser) „Seitencode anzeigen“ oder etwas Ähnliches auswählt.


Der Vorteil von Client-Skripten ist die Geschwindigkeit. Nehmen wir an, das Programm muss die vom Benutzer auf VKontakte eingegebenen Daten auf Richtigkeit überprüfen. In diesem Fall wird die Prüfung sofort durchgeführt, ohne das Geprüfte an den Server zu senden und ohne den Bericht zurückzuerhalten. Die Zeitersparnis liegt auf der Hand.

Aber das ist der Nachteil: Das Client-Skript kann überhaupt nichts auf den Server schreiben. Daher ist es beispielsweise nicht möglich, mit einem clientseitigen Sprachprogramm ein Gästebuch zu erstellen, da Sie dazu Nachrichten in einer Datei auf dem Server speichern müssen.


Beispiele für Javascript sind Java Script, das einen erheblichen Einfluss auf die Entwicklung von C-Sharp hatte (hier ist das C#-Forum), und Visual Basic Script. Um Client-Sprachen zu studieren und mit ihnen zu arbeiten, benötigen Sie einen Browser, der sie unterstützt. Geeignet sind beispielsweise Internet Explorer, Mozilla oder Opera.

Serverseitige Web-Programmiersprachen


Ein Server ist ein Computer, auf dem eine Website gehostet wird, und eine Software, die Browseranfragen an Website-Seiten verarbeitet.

Die Verarbeitung von Skripten in serverseitigen Sprachen unterscheidet sich von clientseitigen:
der Benutzer versucht, die Seite aufzurufen (gibt die URL in die Adressleiste ein oder folgt einem Link);
alle mit dieser Seite verbundenen Skripte werden auf dem Server verarbeitet;
Dem Benutzer wird ein HTML-Dokument angezeigt.

Das heißt, ein Seitenbesucher kann den Skriptcode in der serverseitigen Sprache nicht sehen. Somit hängt die Leistung des Skripts nun nicht mehr direkt vom Browser des Benutzers ab, sondern vom Server, auf dem die Site gehostet wird.


Erwähnenswert ist auch das Konzept des DBMS (Database Management System). Im Allgemeinen handelt es sich dabei auch um einen Server. Beim Kauf eines Hostings erhält der Website-Ersteller eine Datenbank (DB), in deren Tabellen er verschiedene Informationen speichern kann, auf die er jederzeit zugreifen kann. Wenn wir zu unserem Beispiel zurückkehren, enthält eine dieser Tabellen möglicherweise Benutzernachrichten, die im Gästebuch hinterlassen wurden.

Natürlich wird jemand sagen, dass Nachrichten auch in einer Textdatei gespeichert werden können. Aber die in der Datenbank gespeicherten Informationen lassen sich einfacher verwalten – Sie können Tabellen verknüpfen, verschlüsselte Passwörter speichern und vieles mehr.

Die Funktionalität serverbasierter Sprachen ist nahezu grenzenlos, aber das Erlernen dieser Sprachen ist ziemlich arbeitsintensiv, egal, was die Sprachentwickler sagen.


In letzter Zeit sind DBMS weit verbreitet; der Zugriff erfolgt über eine strukturierte Abfragesprache – Structured Query Language (SQL). Natürlich erfordert die Arbeit mit solchen Datenbanken direkte Kenntnisse in SQL. Zu diesen DBMS gehören beispielsweise MySQL und PostgreSQL.

Die gebräuchlichsten serverseitigen Sprachen sind PHP, SSI und Perl.

Um serverbasierte Sprachen zu studieren und mit ihnen zu arbeiten, benötigen Sie etwas mehr als für Client-Sprachen – einen Server, einen Sprachinterpreter und ein DBMS.

Im Allgemeinen können wir aus all dem schließen, dass für einfache Skripte oder für unerfahrene Webmaster jedes der clientseitigen Java-Programme perfekt ist. Für ernstere Entwicklungen müssen Sie eine Serversprache lernen.

Wussten Sie, dass Webprogrammiersprachen clientseitig oder serverseitig sein können? JavaScript, VBS, PHP, PERL. Wissen Sie, wie sie sich unterscheiden und wie sie funktionieren? Wissen Sie, was ein Server ist? Wissen Sie, was ein DBMS ist? Wissen Sie? Lesen Sie also diesen Artikel und finden Sie es heraus :)

1 – Web-Programmiersprachen, was sind sie?
2 – Clientseitige Webprogrammiersprachen
3 – Serverseitige Webprogrammiersprachen
4 – Ein paar abschließende Worte

Was sind Web-Programmiersprachen?

Sie haben irgendwo gelesen, dass man zum Erstellen eines Gästebuchs oder einer Umfrage Kenntnisse in der Webprogrammierung benötigen muss. Haben Sie schon einmal gehört, was Webprogrammierung ist? Also haben wir uns kennengelernt, weil mich diese Fragen einst auch gequält haben und ich nun versuchen werde, Antworten darauf zu geben.

Web-Programmiersprachen sind jeweils Sprachen, die in erster Linie für die Arbeit mit Internet-Technologien konzipiert sind. Und einige wurden nur erstellt, um mit einer bestimmten Ressource zu arbeiten, und erlangten erst lange Zeit später Ruhm und allgemeine Anerkennung (z. B. PHP). Ich werde mich jedoch nicht mit der Entstehungsgeschichte verschiedener Web-Programmiersprachen befassen, da sie nicht Gegenstand dieses Artikels ist und der Leser sie bei Interesse auf den Entwicklerseiten finden kann.

Webprogrammiersprachen werden in zwei Gruppen unterteilt: Client und Server. Ich möchte Sie daran erinnern, was ein Server ist: Dies ist sowohl der Computer, auf dem Ihre Website gespeichert ist, als auch das Programm, das Browseranfragen für jede Seite verarbeitet.

Clientsprachen

Wie der Name schon sagt, werden Clientsprachen auf der Clientseite des Benutzers verarbeitet, und vereinfacht gesagt werden Programme in der Clientsprache vom Browser verarbeitet. Der Nachteil dabei ist, dass die Skriptverarbeitung vom Browser des Benutzers abhängt und der Benutzer die Möglichkeit hat, seinen Browser so zu konfigurieren, dass von Ihnen geschriebene Skripte generell ignoriert werden. Wenn der Browser jedoch alt ist, unterstützt er möglicherweise die bestimmte Sprache oder Version der Sprache, auf die Sie sich verlassen, nicht. Bei modernen Browsern sollten solche Probleme nicht auftreten, außerdem werden Programmiersprachen nicht sehr oft (alle paar Jahre) radikal aktualisiert und die besten davon sind seit langem bekannt. Außerdem kann jeder den Client-Skriptcode anzeigen, indem er im Menü „Ansicht“ seines Browsers die Registerkarte „Quellcode“ (oder etwas Ähnliches) auswählt.

Der Vorteil einer Client-Sprache besteht darin, dass Skripte in einer solchen Sprache verarbeitet werden können, ohne ein Dokument an den Server zu senden. Dies lässt sich anhand eines Beispiels einfacher erklären: Nehmen wir an, Sie müssen überprüfen, ob der Benutzer die E-Mail korrekt eingegeben hat (d. h. beispielsweise prüfen, ob „@“ vorhanden ist). Dazu müsste der Benutzer ein Formular mit ausgefüllten Daten absenden, dann auf die Bearbeitung warten und erst dann eine Fehlermeldung erhalten (sofern es natürlich eine gibt). Der Prozess ist zu lang. Mit der Client-Sprache prüft das Programm vor dem Absenden sofort, ob das Formular korrekt ausgefüllt ist, und zeigt gegebenenfalls einen Fehler an. Dies führt auch zu der Einschränkung, dass mit einer Client-Programmiersprache nichts auf den Server geschrieben werden kann, d. h. Sie können damit beispielsweise kein Gästebuch erstellen, da Sie dann Nachrichten in eine Datei auf dem Server schreiben müssen.

Die gebräuchlichste Client-Sprache ist JavaScript, entwickelt von Netscape (www.netscape.com, ich glaube, Sie kennen den Netscape Navigator-Browser) zusammen mit SunMicrosystems (www.sun.com). Eine weitere Client-Sprachoption ist beispielsweise VisualBasicScript (VBS). Um mit dem Erlernen einer Client-Webprogrammiersprache zu beginnen, benötigen Sie einen Browser, der diese Sprache unterstützt (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla ( geeignete Optionen wären (ich persönlich nutze letzteres)) und Schulungsmaterial, das auf der Website alepira.ural.ru zu finden ist

Serversprachen

Schauen wir uns nun an, wie Skripte in einer serverseitigen Programmiersprache verarbeitet werden. Zunächst stelle ich das folgende Diagramm zur Verfügung:

Wenn ein Benutzer eine Anfrage für eine Seite stellt (einem Link darauf folgt oder eine Adresse in die Adresszeile seines Browsers eingibt), wird die aufgerufene Seite zunächst auf dem Server verarbeitet, d. h. alle mit der Seite verbundenen Skripte werden ausgeführt und erst dann in Form eines einfachen HTML-Dokuments an den Besucher zurückgegeben (d. h. der Besucher kann den Code Ihres Skripts nicht mehr sehen). Die Funktionsweise Ihrer Skripte hängt jedoch vollständig vom Server ab, auf dem sich Ihre Site befindet, und davon, welche Version einer bestimmten Sprache vom Hosting unterstützt wird.

Serverseitige Programmiersprachen eröffnen dem Programmierer ein breites Spektrum an Aktivitäten. Unabhängig davon, wie viele Befürworter der Sprache schreiben, dass ihre Sprache sehr einfach zu erlernen ist, ist es ohne Vorkenntnisse ziemlich schwierig, sie zu beherrschen .

Hier ist es erwähnenswert, was ein Datenbankmanagementsystem oder DBMS ist. Dabei handelt es sich tatsächlich auch um einen Server, auf dem verschiedene notwendige Informationen in einer vom Benutzer definierten Reihenfolge gespeichert sind, die jederzeit abgerufen werden kann. Dabei handelt es sich um eine Bibliothek, in der alle Materialien ordentlich in Regalen gestapelt sind und jederzeit herausgenommen werden können. Normalerweise wird beim Kauf eines Hostings eine Datenbank (DB) zugewiesen, in der der Benutzer viele Tabellen erstellen und darin verschiedene Informationen speichern kann. Das heißt, wenn wir zum Beispiel mit dem Gästebuch zurückkehren, können Sie in jeder von Ihnen erstellten Tabelle die von Benutzern hinterlassenen Nachrichten speichern. Sie können sie natürlich in einer Textdatei speichern, aber das ist weniger zuverlässig, und außerdem habe ich nur ein kleines Beispiel gegeben, und wenn Sie beispielsweise Passwörter speichern müssen (und diese in verschlüsselter Form gespeichert werden müssen) , oder verknüpfen Sie mehrere Tabellen, wenn Sie beim Zugriff auf beliebige Daten auf eine Datenbank nicht verzichten können.

Derzeit sind aus gutem Grund DBMS bekannt geworden, auf die mithilfe der Structured Query Language (SQL) oder einer strukturierten Abfragesprache zugegriffen wird. Um mit diesen Datenbanken zu arbeiten (erweitern, aktualisieren, Abfragen durchführen usw.), müssen Sie genau dieses SQL kennen. Unter diesen DBMS ist MySQL (www.mysql.com) das bekannteste, ich persönlich bevorzuge jedoch PostgreSQL (www.postgresql.org).

Noch ein paar abschließende Worte

Wenn wir weiterhin über Programmiersprachen sprechen, gibt es jetzt Sprachen, die in das Dokument selbst integriert sind, und solche Programme, die Sie zunächst kompilieren müssen, d. h. die von Ihnen geschriebenen Quellcodes in ein fertiges Programm umwandeln; Letzteres hat den Nachteil, dass Sie die aktualisierten Codes neu kompilieren müssen, wenn Sie das Skript aktualisieren müssen.

Unter den Server-Programmiersprachen stechen PHP (PHP: Hypertext Preprocessor) (www.php.net), Perl (www.perl.com) und SSI (Server Side Include) hervor. Um diese Skripte zu testen, benötigen Sie mehr: einen Server (www.apache.org), einen Sprachinterpreter (diesen erhalten Sie auf der Website des Herstellers) und natürlich für produktives Arbeiten auch ein DBMS.

Was? Welche andere Serverprogrammierung? Was ist das für ein Problem? Und warum brauchen wir es?

Wir scheinen gelernt zu haben, wie man Webseiten in der Dreamweaver-Umgebung erstellt. Wir haben sogar gelernt, wie man damit ganze Websites erstellt und auf einem Webserver veröffentlicht. Wir haben zwei Arten des Seitendesigns untersucht: Frame-basiert, wenn Websites auf der Grundlage von Frame-Sets erstellt werden, und tabellarisch, wenn Seiteninhalte in einer großen, komplexen Tabelle platziert werden. Wir haben etwas über Stylesheets, Meta-Tags und serverseitige Anweisungen gelernt. Und schließlich haben wir etwas über Webprogrammierung und Webskripte gelernt, mit denen wir unseren statischen Seiten „Leben“ verleihen können. Was braucht es sonst noch zum Glück?

Ja, das, was wir zuvor gelernt haben, reicht völlig aus, um ganz anständige Websites zu erstellen. Viele Webdesigner hören hier auf. Aber wir wollen mehr, nicht wahr?

Machen wir also den nächsten Schritt – gehen wir von Seiten, die in Dateien auf dem Server gespeichert sind, zu Seiten über, die von speziellen Programmen generiert werden. Genau mit dem Schreiben solcher Programme befasst sich die Serverprogrammierung.

Aber lasst uns die Dinge in Ordnung bringen. Und wir beginnen damit, herauszufinden, warum diese Serverprogramme benötigt werden.

Was ist Serverprogrammierung?

Was ist das wirklich und womit wird es gegessen?

Warum brauchen wir Serverprogramme?

Haben Sie schon einmal einen Online-Shop besucht? Zum Beispiel das beliebteste „Ozon“ (http://www.ozon.ru). Erinnern Sie sich, wie man dort Waren bestellt?

Wenn Sie sich nicht erinnern oder nicht einmal wissen, was ein Online-Shop ist, erinnern wir uns (oder finden es heraus).

Sie gelangen auf eine Webseite, die das von Ihnen benötigte Produkt beschreibt. Nach langem Gewissensbisse entscheiden Sie sich schließlich für den Kauf und klicken auf den Button Kaufen. Anschließend erhalten Sie mehrere Webseiten, auf denen Sie Ihre Adresse, Zahlungs- und Liefermodalitäten festlegen und abschließend den Kauf bestätigen können. Dies alles tun Sie, indem Sie auf die entsprechenden Schaltflächen klicken und Daten in die entsprechenden Eingabefelder direkt auf den Seiten eingeben.

Was passiert, wenn das passiert? Wie werden die von Ihnen eingegebenen Daten verarbeitet? Ist es wirklich der Webbrowser selbst?

Gar nicht. Diese Daten werden auf dem Webserver verarbeitet.

Ein Online-Shop ist nur eines der Beispiele, die dem Autor, der Fan und Stammkunde des oben genannten „Ozone“ ist, in den Sinn kamen. Webbasierte E-Mail-Server, Suchmaschinen, elektronische Schwarze Bretter, Foren und im Allgemeinen alle Websites, die Daten vom Besucher empfangen und verarbeiten, funktionieren auf genau die gleiche Weise. In all diesen Fällen empfängt der Webbrowser Daten vom Besucher und sendet sie an den Webserver, der sie verarbeitet und das Ergebnis der Verarbeitung in Form einer automatisch generierten Webseite erzeugt.

Wie kommt es eigentlich dazu? Jetzt werden wir es herausfinden. Und zunächst einmal beantworten wir die Frage...

Wie ein Webserver verarbeitet Benutzerdaten

Wie verarbeitet ein Webserver-Programm die von einem Benutzer an ihn gesendeten Daten?

Auf keinen Fall. Der Webserver ist nicht für deren Verarbeitung geeignet. Seine Aufgabe besteht darin, eine Anfrage nach Dateien von einem Webbrowser (Webseiten, Stylesheets, Grafiken, Filme, Sounds, Archive, ausführbare Dateien usw.) zu empfangen, auf den Festplatten des Servercomputers nach diesen Dateien zu suchen und Senden Sie die gefundenen Dateien zurück an den Webbrowser. Das ist seine Hauptaufgabe. Natürlich können einige besonders leistungsstarke Server zusätzliche Aktionen an den gesendeten Dateien ausführen, bevor sie diese tatsächlich senden (insbesondere die Ausführung von Serveranweisungen). Es gibt auch „Multi-Host“-Programme, die nicht nur die Funktionen eines Webservers, sondern auch eines FTP-Servers, von E-Mails, UseNet-Nachrichten und Gott weiß was sonst noch übernehmen. Aber die Hauptfunktion: einfache Ausgabe von Dateien nach Kundenwunsch – und mehr nicht.

Das Geheimnis liegt darin, dass die Besucherdaten nicht vom Webserver selbst verarbeitet werden. Hierzu werden spezielle Programme verwendet, die mit dem Webserver auf demselben Serverrechner zusammenarbeiten. Sie heißen Serverprogramme, Sie verfügen über keine Benutzeroberfläche und „kommunizieren“ nur mit dem Webserver, empfangen von diesem die vom Benutzer eingegebenen Daten und geben das Ergebnis an ihn zurück. Darin unterscheiden sie sich grundlegend von Client-Programmen, die direkt mit dem Benutzer zusammenarbeiten. (Zu den Client-Programmen gehört unter anderem Ihr bevorzugter Webbrowser.)

Daraus folgt, dass der Webserver weiterhin Daten vom Benutzer entgegennehmen kann. Ja, das gehört zu seiner Hauptaufgabe: Daten entgegenzunehmen und an das Serverprogramm weiterzuleiten. Das Serverprogramm wiederum verarbeitet sie und gibt das Ergebnis an den Webserver zurück.

Hier beginnt der Spaß. Tatsache ist, dass das vom Serverprogramm an den Webserver zurückgegebene Ergebnis nichts anderes als gewöhnlicher HTML-Code ist! Tatsächlich gibt das Serverprogramm eine fertige Webseite zurück, die auf der Grundlage der vom Besucher eingegebenen Daten generiert wurde. Diese Seite heißt dynamisch, im Gegensatz zu statisch Seiten, die von einem Webdesigner geschrieben und in Dateien auf den Festplatten eines Servercomputers gespeichert werden. Und der Webserver sendet diese dynamische Seite als Antwort auf die eingegebenen Daten an den Client.

Serverprogramme werden in die folgenden vier Typen unterteilt.

  1. Ausführbare Programme, die über die Schnittstelle ausgeführt werden CGI(Common Gateway Interface – gemeinsame Austauschschnittstelle), die sogenannte CGI-Programme. Diese Art von Serversoftware ist die älteste, aber keineswegs veraltet.
  2. Webserver-Erweiterungen(ISAPI, Anwendungen im NSAPI-Format, Apache-Erweiterungsmodule usw.). Eine neue Methode, mit der Sie Serverprogramme in den Webserver selbst einbetten und sie so zu dessen integralen Bestandteilen machen können. Es wurde zuerst von Microsoft für den Microsoft Internet Information Server (ISAPI-Schnittstelle) und von den Entwicklern des beliebten kostenlosen Apache-Webservers vorgeschlagen.
  3. Aktive Server-Seiten(ASP, JSP usw.). Tatsächlich handelt es sich dabei um gewöhnliche statische Webseiten, die in Dateien gespeichert sind und zusätzlich zum üblichen HTML-Code Befehle enthalten, die entweder vom Webserver selbst oder seiner Erweiterung verarbeitet werden. Auch eine neue Methode, die erstmals von Microsoft für denselben Internet Information Server vorgeschlagen wurde.
  4. Serverskripte, geschrieben in einer interpretierten Sprache (Perl, Python, VBScript, JavaScript usw.). Gängige Skripte, die serverseitig über eine CGI- oder ISAPI-Schnittstelle ausgeführt werden.

Schauen wir uns nun diese Vielfalt genauer an.

CGI-Programme sind gewöhnliche ausführbare Dateien, die in einer beliebigen Programmiersprache geschrieben und in Software kompiliert werden.Buscode des Prozessors. Sie verfügen nicht über eine Benutzeroberfläche (wie alle Serverprogramme), sondern arbeiten mit einem Webserver, empfangen von diesem Eingabedaten und senden die Ergebnisse ihrer Arbeit an diesen. Sie werden vom Webserver selbst gestartet, wenn sie benötigt werden (wenn vom Benutzer empfangene Daten verarbeitet werden müssen) und arbeiten unter der Kontrolle des Betriebssystems des Servercomputers. Wenn der Webserver außerdem gleichzeitig mehrere Anfragen zur Datenverarbeitung von Benutzern erhält, startet er die entsprechende Anzahl von Kopien des CGI-Programms.

Zu den Vorteilen von CGI-Programmen gehören die einfache Erstellung (viele Programmentwicklungsumgebungen unterstützen die Erstellung solcher Anwendungen, insbesondere das beliebte Borland Delphi ab Version 3) und die einfache Fehlersuche. Da CGI-Anwendungen außerdem unabhängige Programme sind, werden sie getrennt vom Webserver ausgeführt (wie Programmierer und Systemadministratoren sagen, sie werden in einem anderen Adressraum ausgeführt). Das heißt, wenn ein CGI-Programm fehlschlägt, wird nur dieses Programm beendet – der Webserver selbst bleibt über Wasser. CGI-Programme haben jedoch nur einen Nachteil: einen hohen Verbrauch an Systemressourcen, da für die Verarbeitung jedes Datensatzes eine separate Kopie des Serverprogramms gestartet wird. Und wenn der Webserver zu viele Anfragen zur Datenverarbeitung erhält, kann es sein, dass der Servercomputer einfriert.

Webservererweiterungen sind eine neuere Art von Serversoftware. Dabei handelt es sich um gewöhnliche DLLs, die die gesamte Logik des Serverprogramms implementieren. Solche Bibliotheken sind in das Webserverprogramm integriert und funktionieren als integraler Bestandteil davon. Da DLLs nur in der Windows-Umgebung funktionieren, wurden andere Formate erfunden, um Erweiterungen auf anderen Betriebssystemen zu erstellen. Insbesondere sind Apache-Server-Erweiterungsmodule keine DLLs,

In Form von DLLs werden Erweiterungen der Webserver Internet Information Server von Microsoft und Netscape Web Server von Netscape erstellt. Im ersten Fall haben Erweiterungen das Format ISAPI(Internet Server Application Programming Interface - Internet Server Application Programming Interface) und im zweiten - NSAPI(Netscape Server Application Programming Interface – Netscape Server Application Programming Interface). Das Format der Apache-Erweiterungsmodule wird Apache-Module genannt.

Webserver-Erweiterungen haben einen Vorteil: einen schonenden Umgang mit Systemressourcen. Tatsache ist, dass zur Verarbeitung aller Benutzerdatensätze nur eine Instanz der Erweiterung gestartet wird, was deutlich weniger Ressourcen beansprucht als viele laufende CGI-Programme. Erweiterungen sind jedoch schwieriger zu erstellen und zu debuggen und nicht so sicher.

Wie CGI-Programme. Da sie als Teil eines Webservers ausgeführt werden, führt jeder Fehler in der Erweiterung dazu, dass der Server hängen bleibt.

Beide oben beschriebenen Arten von Serverprogrammen haben einen großen Nachteil. Bevor sie funktionieren, müssen sie in einer Programmiersprache geschrieben und auf dem Prozessor in Maschinencode kompiliert werden, was insbesondere beim Debuggen zeitaufwändig ist. Natürlich laufen kompilierte Programme schneller als interpretierte, also solche, bei denen jede Anweisung von einem speziellen Interpreterprogramm gelesen, entschlüsselt und verarbeitet wird. Aber interpretierte Programme haben auch ihre Vorteile, vor allem die Einfachheit und Schnelligkeit des Schreibens. Die nächsten beiden Arten von Serverprogrammen, die beschrieben werden, werden interpretiert.

Wie bereits erwähnt, handelt es sich bei aktiven Serverseiten um reguläre Webseiten, die spezielle Inhalte enthalten Serverskripte, wird vom Webserver selbst oder einem speziellen Serverprogramm (CGI-Anwendung oder Webserver-Erweiterung) ausgeführt. Insbesondere, A.S.P.(Active Server Pages), unterstützt von Microsoft Internet Information Server, und JSP(Java Server Pages – in JavaScript geschriebene Serverseiten), die von einer Reihe anderer Webserver unterstützt werden, funktionieren auf diese Weise. ASP-Serverseiten werden in JavaScript und VBScript geschrieben, während JSP nur in JavaScript geschrieben wird.

Sie kennen bereits die Vorteile aktiver Serverseiten: einfaches und schnelles Schreiben sowie einfaches Debuggen. Da aktive Serverseiten außerdem nur normale Webseiten mit eingestreutem Code sind, können sie von jedem, der mit HTML vertraut ist, problemlos geschrieben werden. Nachteil: relative Langsamkeit und erhöhte Anforderungen an die Systemressourcen.

Serverseitige Skripte ähneln aktiven Serverseiten darin, dass sie interpretiert werden, es handelt sich jedoch um „reinen“ Programmcode, ohne HTML-Zusätze. Der Interpreter ist fast immer ein CGI-Programm, aber einer Entwicklung als Web steht nichts im Wege Servererweiterungsskripte werden normalerweise in der Programmiersprache Perl geschrieben, die speziell für die Textverarbeitung entwickelt wurde, aber auch Python, JavaScript, VBScript und angeblich sogar die MS-DOS-Batchdateisprache werden verwendet. Tatsächlich können Skripte dies tun in einer beliebigen Programmiersprache geschrieben sein, für die es einen Interpreter gibt.

Die Vor- und Nachteile serverseitiger Skripte sind dieselben wie bei aktiven Serverseiten. Allerdings verbrauchen Skripte außergewöhnlich viel Systemressourcen, sogar mehr als CGI-Anwendungen. Schließlich wird für die Verarbeitung jedes Benutzerdatensatzes eine eigene Kopie des Interpreters gestartet, und der Interpreter wiederum wendet viele Ressourcen für die Verarbeitung des Skripts auf. Dennoch sind Skripte die beliebteste Methode zur Erstellung von Serverprogrammen.

In der Tabelle 15.1 zeigt die Dateierweiterungen von Serverprogrammen.

Tabelle 15.1. Dateierweiterungen für Serverprogramme

Art der Serverprogramme

Unterart

Verlängerung

CGI-Programme

-

exe

Webserver-Erweiterungen

ISAPI- und NSAPI-Apache-Module

dll Keine Erweiterung

Aktive Server-Seiten

Serverskripte

ASP JSP

asp jsp

Sprache Perl JavaScript VBScript Andere Sprachen

pl, cgi js, cgi vbs, cgi cgi

Deshalb haben wir uns angeschaut, wie der Webserver Benutzerdaten verarbeitet (bzw. nicht verarbeitet). Gehen wir nun zum Anfang der Kette und sehen uns an, wie der Webbrowser Benutzerdaten an das Serverprogramm sendet.

Wie der Webbrowser die eingegebenen Daten sendet

Zu Beginn dieses Kapitels haben wir darüber gesprochen, wie auf den Webseiten selbst platzierte Steuerelemente zum Sammeln von Besucherdaten verwendet werden. Hierbei handelt es sich um gewöhnliche Steuerelemente, die Sie aus Windows-Anwendungen kennen: Eingabefelder, Schaltflächen, Listen, Kontrollkästchen usw. Ein Site-Besucher gibt dort Daten ein und drückt eine spezielle Schaltfläche, die mit dem Senden der Daten an den Webserver und damit an das Serverprogramm beginnt .

Auf dem Formular sind Steuerelemente zur Eingabe von Besucherdaten platziert. Bilden - Dabei handelt es sich um ein spezielles Seitenelement, das die Daten tatsächlich kodiert und an den Webserver sendet. (Wir können sagen, dass das Formular den Steuerelementen übergeordnet ist.) Die Steuerelemente selbst empfangen nur Daten vom Besucher, verschlüsseln oder übertragen diese jedoch nicht.

Jedes Steuerelement in einem Formular muss einen eindeutigen Namen haben. Diese Namen werden vom Webbrowser verwendet, um die in das Formular eingegebenen Daten so darzustellen, dass sie für den Server lesbar sind.

Zum Beispiel:

Hier haben wir den Idealfall betrachtet, in dem die Werte jedes Steuerelements nur enthalten gültig mit Aus Sicht des HTTP-Protokolls Symbole: Buchstaben des lateinischen Alphabets, Zahlen, Bindestriche, Unterstriche und einige andere Zeichen. (Denken Sie daran, dass HTTP ein Dateiübertragungsprotokoll ist, das von einem Webserver verwendet wird.) Wenn Sie Daten übertragen, die unzulässige Zeichen wie Leerzeichen oder Buchstaben des russischen Alphabets enthalten, wird jedes dieser Zeichen als Hexadezimalcode mit vorangestelltem Prozent dargestellt Zeichen, zum Beispiel so (codierte Leerzeichen sind fett gedruckt):

Dank dieses Datenformats ist das Schreiben von Serverprogrammen, die diese Daten verarbeiten, sehr einfach. Insbesondere verfügt Perl über integrierte Entschlüsselungsfunktionen für dieses Format.

Die im obigen Formular dargestellten Daten werden anschließend mithilfe einer der vordefinierten codiert Codierungsmethoden und werden über das Internet an das Serverprogramm gesendet. All dies wird tatsächlich vom Formular erledigt (aber nicht von den Steuerelementen).

Der Vorgang des Sendens der Daten beginnt, nachdem der Benutzer eine spezielle Taste drückt. Diese Schaltfläche wird aufgerufen Schicken(Einreichen – in englischsprachigen Programmen) und muss im Formular vorhanden sein. Das Formular kann auch eine Schaltfläche enthalten Zurücksetzen(Zurücksetzen), wodurch die vom Benutzer eingegebenen Daten zurückgesetzt werden. Normalerweise befinden sich diese Schaltflächen ganz unten im Formular.

Sie können sich ein Formular als etwas wie ein normales Windows-Anwendungsdialogfeld vorstellen, das Benutzereingaben entgegennimmt, diese auf eine bestimmte Weise codiert und an das Hauptfenster sendet. (Dialogfenster von Windows-Anwendungen verfügen ebenfalls zwangsläufig über zwei Schaltflächen: OK Und Stornieren(Abbrechen).) Muss der Programmierer jedoch im Fall einer regulären Windows-Anwendung explizit angeben, wie die Daten verschlüsselt und gesendet werden, ist dies im Fall eines Webformulars nicht erforderlich. Sie müssen nur drei erforderliche Parameter festlegen:

  • Internetadresse des Serverprogramms, das die Formulardaten verarbeiten wird;
  • Kodierungsmethode für gesendete Daten;
  • eine von zwei Methoden zum Senden von Daten.

Wir werden etwas später über Methoden zum Senden von Daten sprechen. Lassen Sie uns nun alles über die beiden anderen erforderlichen Formularparameter herausfinden.

Die Internetadresse eines Serverprogramms ist der Internetadresse jeder anderen Datei, beispielsweise einer Webseite, sehr ähnlich. Überzeugen Sie sich selbst – so wird die Adresse des CGI-Programms aussehen:

http://www. Irgendwo. ru/bin/program.exe Dies ist die Adresse der Webserver-Erweiterung: http://www.somesite.ru/bin/extension.dll Dies ist die Adresse der aktiven Serverseite:

http://www. Irgendwo. ru/asps/active_page. asp

Und das ist die Adresse des in Perl geschriebenen Skriptprogramms:

http://www. Irgendwo. ru/scripts/perl_script.pl

Wie Sie sehen, ist daran nichts Kompliziertes. Ein Serverprogramm ist eine gewöhnliche Datei, die auf den Festplatten eines Servercomputers abgelegt wird, und auch ein Link darauf stellt nichts Besonderes dar.

Um über das Internet übertragene Daten zu verschlüsseln, werden üblicherweise die drei gängigsten Methoden verwendet: application/x-www-form-urlencoded,multipart/form-data und (viel seltener) text/plain. Es ist möglich, andere Kodierungsmethoden zu verwenden, in den allermeisten Fällen werden jedoch die drei aufgeführten Methoden verwendet. Darüber hinaus werden diese drei Kodierungsmethoden von den meisten Webbrowserprogrammen unterstützt.

Notiz

Wenn Sie sich noch daran erinnern, was ein MIME-Datentyp ist, dann werden Sie bei einem Blick auf die oben genannten Namen der Datenkodierungsmethoden sofort erkennen, dass es sich lediglich um MIME-Typen handelt. Mit ihrer Hilfe werden Kodierungsmethoden spezifiziert.

In den allermeisten Fällen wird die Kodierungsmethode application/x-www-form-uriencoded verwendet. Es ist übrigens diejenige, die standardmäßig verwendet wird, wenn die Kodierungsmethode nicht angegeben ist. Die Multipart/Form-Data-Kodierungsmethode wird verwendet, wenn Sie Dateien an einen Webserver senden möchten. Es bietet die für diesen Fall geeignete binäre Datenkonvertierung. Die letzte Methode – Text/Plain – stellt die Daten im Klartext dar, was nützlich sein kann, wenn die Formulardaten per E-Mail versendet werden (manchmal wird diese Methode der Datenübertragung auch verwendet).

Also haben wir die Datenkodierung geklärt. Es bleibt abzuwarten, wie diese Daten über Netzwerkkanäle übertragen werden.

Wie Daten über das Internet übertragen werden

Wie Sie bereits wissen, wird zum Senden von Daten über das Internet, und zwar über jedes lokale oder globale Computernetzwerk, ein spezielles Regelwerk verwendet, das sogenannte Protokoll. Das Protokoll definiert, wie Daten für die anschließende Übertragung über das Netzwerk verschlüsselt und verpackt werden. Natürlich müssen sowohl das sendende als auch das empfangende Programm dasselbe Protokoll unterstützen, um sich gegenseitig zu „verstehen“. (Andernfalls entsteht eine sogenannte Inkompatibilität mit dem Datenübertragungsprotokoll, was sehr unangenehm ist.) Eigentlich haben wir bereits über Internetprotokolle gesprochen und es hat keinen Sinn, sie jetzt zu wiederholen.

Sie wissen auch, dass das HTTP-Protokoll zum Senden von Webseiten und zugehörigen Dateien (Grafiken, Sounds, Archive usw.) über das Internet verwendet wird. Es wird auch zur Datenübertragung verwendet, und dafür gibt es zwei Übertragungsmethode Daten. Beide Methoden sind in der Internetprogrammierung weit verbreitet und haben ihre Vor- und Nachteile. Schauen wir sie uns an.

Die erste Methode wird aufgerufen ERHALTEN durch den Wert des entsprechenden Formularparameters. Bei der Nutzung werden Daten als Teil der Internetadresse in einer HTTP-Anfrage übertragen.

Wie Sie sich erinnern, sendet ein Webbrowser, um die benötigte Datei von einem Webserver zu empfangen, an diesen Server eine sogenannte HTTP-Anfrage, die die Internetadresse der benötigten Datei enthält. Daher können die Daten im Rahmen dieser Adresse übermittelt werden.

Nehmen Sie zum Beispiel den oben gezeigten Datensatz:

Name1 = Ivan Nachname = Ivanovich Name2 = Ivanov Alter = 30

Bereiten wir es nun für den Versand mit der GET-Methode vor (die Daten selbst sind fett gedruckt):

http://www.somesite.ru/bin/program.exe? name1=Ivan&surname2=Ivanovich&name2=Ivanov&age=30

Wie Sie sehen, werden mit der GET-Methode gesendete Daten ganz am Ende der Internetadresse platziert und durch ein Fragezeichen von dieser getrennt. In diesem Fall werden die Paare „Name“ = „Wert“ durch das „kommerzielle und“-Zeichen („&“) voneinander getrennt. Alles ist sehr einfach und klar.

Diese Einfachheit und Klarheit der Datendarstellung ist der Hauptvorteil der GET-Methode. Wie sie sagen, ist alles in Sichtweite. Auch das Debuggen von Webseiten wird erheblich vereinfacht: Da die an den Webserver übergebene Adresse in der Adressleiste des Webbrowsers angezeigt wird, ist jederzeit ersichtlich, was genau übergeben wurde. (Wie Sie wissen, können vertrauliche Daten auf diese Weise jedoch nicht übertragen werden – jeder, der hinter Ihrem Rücken steht, wird es sehen.)

http://www.mysite.ru/bin/choose.exe?chapter=3

Wie Sie sehen, handelt es sich tatsächlich um Links zum Serverprogramm, die einen Kapitelparameter und seinen Wert enthalten. Dies bedeutet, dass alle anderen Seiten einer solchen Site dynamisch vom Serverprogramm basierend auf den empfangenen Parametern erstellt werden. Nach diesem Prinzip werden häufig Verzeichnis-Sites, Programmkatalog-Sites, Elektronikläden und andere Sites erstellt, die eine große Menge an geheimen Informationen enthalten.

Leider hat die GET-Methode einen großen Nachteil: Sie kann keine großen Datenmengen übertragen. Dies liegt an der durch Standards vorgegebenen Beschränkung der Länge einer Internetadresse: nicht mehr als 256 Zeichen. Subtrahieren Sie hiervon die Länge der tatsächlichen Adresse des Serverprogramms – und Sie erhalten die maximal zulässige Größe Ihrer Daten. Der zweite Nachteil der GET-Methode ist die Kehrseite ihrer Vorteile. Die gesendeten Daten sind öffentlich sichtbar und können problemlos in der Adressleiste eines Webbrowsers gelesen werden.

Die GET-Methode sollte verwendet werden, wenn die an das Serverprogramm gesendeten Daten offensichtlich klein und nicht geheim sind. Insbesondere wird es verwendet, um Schlüsselwörter an Suchmaschinen auf Websites zu senden, die auf der Grundlage eines Serverprogramms erstellt wurden (siehe oben) usw. Wenn Sie umfangreiche oder vertrauliche Daten senden müssen, verwenden Sie die zweite Übertragungsmethode namens POST.

Methode POSTübermittelt im selben HTTP-Request Daten an das Serverprogramm, jedoch nicht als Teil der Internetadresse, sondern in Form sogenannter Zusatzdaten. Da die Größe der zusätzlichen Daten nicht begrenzt ist (sie kann zumindest sehr groß sein), können Sie alles, was Sie wollen, in beliebiger Menge übertragen. Insbesondere können auf diese Weise auch Dateien auf den Webserver übertragen werden.

Vorteile der POST-Methode: Die übertragene Datenmenge ist unbegrenzt und „unsichtbar“. Nachteile: Schwierigkeiten beim Entschlüsseln von Daten und Schwierigkeiten beim Debuggen. Mit dem POST-Verfahren werden beispielsweise personenbezogene Daten, Adressen von Kunden in Elektrofachmärkten, literarische Werke übermitteltZugriff auf die Websites http://www.stihi.ru und http://www.proza.ru usw. Im Allgemeinen etwas, das große Mengen hat.

Wie es heißt, beabsichtigt das WWWC-Komitee, irgendwann ganz auf die GET-Methode zu verzichten und alle Daten mit der POST-Methode zu übertragen. Bisher wurde die GET-Methode lediglich als nicht empfohlen für die Verwendung in neu erstellten Websites erklärt, tatsächlich wird sie jedoch weiterhin von Webbrowsern unterstützt.

So haben wir alles über Serverprogramme herausgefunden. Na ja, vielleicht nicht alle, aber das reicht uns jetzt. Lassen Sie uns nun darüber sprechen, wie vollständig all dies von Dreamweaver MX unterstützt wird.

Serverseitige Programmierung – der Dreamweaver-Ansatz

Ist es schwierig, Serverprogramme zu schreiben? Ja, es ist schwierig. Wahrscheinlich sogar schwieriger als Webseiten.

Erinnern Sie sich jedoch daran, wie oft wir HTML-Code manuell schreiben mussten? Ziemlich selten, nicht wahr? Und das alles, weil Dreamweaver uns sorgfältig davor geschützt hat, indem es eine praktische Oberfläche zum visuellen Erstellen von Seiten bereitgestellt hat. Wir haben einfach Text geschrieben, ihn formatiert, Bilder und Tabellen auf der Seite platziert, Verhaltensweisen auf Seitenelemente angewendet usw. Mit einem Wort: Wir haben uns wohl gefühlt.

Und müssen wir jetzt wirklich Serverprogramme manuell schreiben?! Nein, überhaupt nicht nötig.

Es wurde bereits erwähnt, dass Dreamweaver sogenannte Verhaltensweisen für unerfahrene Benutzer und allgemein für diejenigen bereitstellt, die sich nicht mit JavaScript-Code befassen möchten. Verhalten– Hierbei handelt es sich um ein vorgefertigtes Skript, das von professionellen Programmierern geschrieben und von Dreamweaver selbst in den Webseitencode eingefügt wird, nachdem der Benutzer dieses Verhalten im Panel-Verhaltensmenü ausgewählt hat Verhaltensweisen. Der Benutzer muss sich nicht darum kümmern, ein Skript, das diese oder jene Aktion ausführt, an einer bestimmten Stelle im Seitencode zu platzieren; er muss dieses Skript nicht auf Fehler überprüfen und es mit anderen Skripten koordinieren. Dreamweaver erledigt das alles für ihn.

Tatsächlich ist der Satz an Operationen, die bei der Serverprogrammierung verwendet werden, sehr klein. Öffnen Sie die Datenbank, holen Sie sich Daten daraus, zeigen Sie sie auf der Seite an, schreiben Sie neue Daten – was wird sonst noch benötigt!

Wenn Sie ein paar ausgefallene Dinge tun möchten, müssen Sie natürlich Hand in Hand Serverseiten schreiben. Aber Sie sehen, das kommt nicht oft vor.

Also haben wir zwei Dinge herausgefunden. Erstens unterstützt Dreamweaver MX die Erstellung serverseitiger Webseiten. Zweitens verwendet es Verhaltensweisen, mit denen Sie vertraut sind, um Skripte darin einzufügen. Dreamweaver bietet eine große Auswahl an Verhaltensweisen für serverseitige Szenarios, die für den Einstieg ausreichen sollten.

Es bleibt abzuwarten, welche Serverseiten Sie mit Dreamweaver erstellen können. Genauer gesagt, welche Technologien zum Erstellen von Serverseiten Sie verwenden können. Es gibt vier solcher Technologien, die nun aufgelistet werden.

  1. ASP. Diese Technologie ist Ihnen bereits bekannt.
  2. ASP.NET. Weiterentwicklung von ASP.
  3. PHP. Kostenlose Technologie, die mit Open-Source-Texten verbreitet wird. Sehr beliebt und wird häufig mit kostenlosen Webservern wie Apache verwendet.
  4. Macromedia ColdFusion. Eigene Entwicklung von Macromedia.

Welches sollten Sie wählen? Schließlich müssen wir Beispiele für Webseiten erstellen.

Wählen wir ASP. Und deshalb.

Um mit serverseitigen Seiten arbeiten zu können, benötigen wir einen Webserver. Ohne sie funktionieren Serverseiten einfach nicht. Und vielleicht wissen Sie, dass alle mehr oder weniger neuen Versionen von Windows mit einem kleinen Webserver ausgestattet sind. Auf Windows 95/98/ME-Systemen ist es der Personal Web Server und auf Windows NT/2000/XP der Internet Information Server. Seine Fähigkeiten reichen völlig aus, um mit der Serverprogrammierung zu experimentieren.

Daher unterstützt dieser Webserver die ASP-Technologie vollständig. Sie können aktive Serverseiten schreiben und diese darunter ausführen. Und Sie müssen keine zusätzlichen Komponenten herunterladen – alles, was Sie brauchen, ist bereits im Windows-Distributionskit enthalten. Aus diesem Grund wurde ASP ausgewählt.

Derzeit unterstützt fast kein Webserver die ASP.NET-Technologie; Microsoft hat noch kein einziges Produkt veröffentlicht, das diese Technologie unterstützt. Um mit PHP-Seiten zu arbeiten, müssen Sie im Internet ein ziemlich großes Distributionskit mit einem PHP-Handler suchen und herunterladen und dann viel Zeit mit der Einrichtung verbringen. Was die ColdFusion-Technologie betrifft, werden Sie wahrscheinlich nicht mehrere tausend Dollar dafür ausgeben können. Wir haben also praktisch keine Optionen.

Einführung in Datenbanken

Als letztes werden wir uns in diesem Kapitel mit Datenbanken und der Arbeit mit ihnen befassen. Da der Löwenanteil der Serverprogramme mit Datenbanken arbeitet, werden uns diese Kenntnisse von großem Nutzen sein. Natürlich werden wir nicht alle Datenbanktechnologien im Detail betrachten, sondern uns wie bisher auf ein kurzes Bildungsprogramm beschränken. Bei Interesse können Sie selbst im Internet nach den benötigten Büchern und Texten suchen.

Was Datenbank? Nichts Besonderes, nur eine normale Datei oder eine Gruppe von Dateien, die auf besondere Weise organisierte Daten enthält. Auch wenn eine Datenbank aus vielen Dateien besteht, bleibt sie dennoch eine Einheit. Die in der Datenbank enthaltenen Daten werden mit einem speziellen Programm namens verarbeitet Datenbankprozessor. Der Datenbankprozessor kann entweder ein völlig separates Programm sein, das auf demselben Computer wie das die Daten verwendende Programm läuft, oder ein Teil davon sein.

Datenbanken können auf unterschiedliche Weise organisiert werden. Bei der überwiegenden Mehrheit der heute verwendeten Datenbanken ist dies jedoch der Fall relational. Daten in solchen Datenbanken werden in Form von Tabellen organisiert. Jede dieser Datenbanken kann eine oder mehrere Tabellen enthalten; Komplexe Datenbanken verfügen normalerweise über viele miteinander verbundene Tabellen.

Jede Tabelle besteht wiederum aus einer Reihe von Zeilen, die in Zellen unterteilt sind, und jede Zelle enthält Daten eines bestimmten Typs: Text, Zahlen, logische Werte, Datumsangaben usw. Die Zeilen von Datenbanktabellen werden aufgerufen Aufzeichnungen, und die Zellen, in die jeder Datensatz unterteilt ist, sind Felder. Wie bereits erwähnt, hat jedes Feld einen bestimmten Typ und ist unbedingt damit ausgestattet Name,über die das mit Daten arbeitende Programm auf dieses Feld zugreift.

In Abb. 15.1 zeigt ein Beispiel einer solchen Tabelle. Wie Sie sehen, besteht diese Tabelle aus drei Feldern:

  • NAME – Name der Technologie zur Erstellung von Serverseiten, Text;
  • PRICE – Preis des Handler-Programms, numerisch;
  • USING – ob diese Technologie derzeit unterstützt wird, logisch („ja-nein“).

Darüber hinaus enthält diese Tabelle vier Einträge, die den von Dreamweaver MX unterstützten Technologien entsprechen: ASP, ASP.NET, PHP und ColdFusion.

Sehr oft ist eines der Tabellenfelder fertig Schlüssel. Der Schlüsselfeldwert wird zur eindeutigen Identifizierung eines Datensatzes verwendet. Natürlich müssen in diesem Fall die Schlüsselfelder aller Tabellendatensätze eindeutige Werte enthalten. Manchmal wird das Schlüsselfeld aufgerufen Zählerfeld.

Beispiel einer in einer Datenbank enthaltenen Tabelle

Sie wissen bereits, wie Sie auf ein separates Feld zugreifen – über seinen Namen. Wie kann ich auf den erforderlichen Datensatz zugreifen?

Tatsache ist, dass ein Programm, das Datenbankdaten verwendet, gleichzeitig nur mit einem Datensatz arbeiten kann, der aufgerufen wird aktuell. Es kann Daten aus den Feldern in diesem Datensatz abrufen und sie möglicherweise ändern. Um jedoch die Daten eines anderen Datensatzes abzurufen, muss das Programm einen Verschiebungsbefehl erteilen. In diesem Fall verschiebt der Datenbankprozessor einen Sonderfall aktueller Datensatzzeiger auf den gewünschten Datensatz, und das Programm kann damit arbeiten.

Das Programm kann auch verwendet werden suchen den gewünschten Datensatz nach einem beliebigen Kriterium. Sehr oft wird eine solche Suche anhand des Werts eines Schlüsselfelds durchgeführt.

Das Programm verfügt außerdem über die Möglichkeit, neue Tabelleneinträge hinzuzufügen und unnötige Tabelleneinträge zu löschen. Um einen neuen Datensatz hinzuzufügen, führt das Programm den Befehl zum Hinzufügen eines Datensatzes aus und gibt die erforderlichen Daten in seine Felder ein. Um einen Eintrag zu löschen, muss das Programm ihn zunächst aktuell machen und dann den Löschbefehl ausgeben.

Im Allgemeinen sieht der Ablauf der Arbeit mit den in der Datenbank enthaltenen Daten wie folgt aus:

  1. Programm öffnet Datenbank durch Ausführen einer Öffnungsoperation. Dies ist ein notwendiger Vorgang, ohne den kein Zugriff auf die Datenbank möglich ist.
  2. Das Programm öffnet die gewünschte Datenbanktabelle. Danach gibt der Prozessor ihr das sogenannte zurück Datensatz(auf Englisch – Recordset), mit dem das Programm arbeitet.
  3. Das Programm erledigt die eigentliche Arbeit mit den Daten.
  4. Programm schließt Tabelle, woraufhin der Prozessor den Satz von Datensätzen, der diesem Programm entspricht, aus dem Speicher entfernt.
  5. Das Programm schließt die Datenbank und unterbricht alle Verbindungen mit ihr.

Bitte beachten Sie, dass die letzten beiden Vorgänge – das Schließen der Tabelle und der Datenbank – ebenso notwendig sind wie das Öffnen. Tatsache ist, dass eine Reihe von Datensätzen und anderen Datenstrukturen, die vom Prozessor im Speicher für ein mit Daten arbeitendes Programm generiert werden, viele Systemressourcen beanspruchen. Wenn Sie mit der Arbeit an einer Tabelle oder Datenbank fertig sind, schließen Sie diese daher sofort, um Ressourcen für andere Benutzer freizugeben.

In letzter Zeit erfreuen sie sich großer Beliebtheit Datenbankserver. Dabei handelt es sich um gewöhnliche Datenprozessoren, die jedoch in Form von Serverprogrammen implementiert sind und auf Servercomputern laufen. Ihre Vorteile gegenüber herkömmlichen Datenverarbeitern:

  • Sie laufen auf einem Server-Computer, der normalerweise leistungsfähiger ist als der Client-Computer, sodass ihre Leistung höher ist.
  • Sie sorgen durch Zugriffskontrolle und einige andere Mechanismen für eine höhere Datensicherheit.
  • Sie sind einfach leistungsfähiger in dem Sinne, dass sie mehr unterschiedliche Innovationen unterstützen, die in letzter Zeit erschienen sind.

Um Zugriff auf den Datenbankserver und die Daten selbst zu erhalten, sendet das Client-Programm spezielle Befehle an ihn. Um solche Befehle zu verfassen, wurde eine Abfragebeschreibungssprache entwickelt SQL(Structured Query Language – strukturierte Abfragesprache). Mithilfe von in dieser Sprache geschriebenen Befehlen kann das Client-Programm die gewünschte Tabelle öffnen, die Daten lesen, einen Datensatz hinzufügen, ändern, löschen und schließlich die Datenbank schließen, wenn sie nicht mehr benötigt wird.

Datenbankserver werden mittlerweile sehr häufig und in der Webprogrammierung fast überall eingesetzt. Zu den beliebtesten zählen Oracle, Microsoft SQL Server, Sybase, das leistungsstarke IBM DB2, Borland InterBase (in Russland wird es unter dem Namen IBase verkauft), das immer beliebter werdende PostgressSQL und der kostenlose MySQL-Server, der als Open Source vertrieben wird. Letzterer Server wird übrigens sehr häufig in Verbindung mit dem Apache-Webserver und der PHP-Serverseitentechnologie verwendet.

Damit ist die Geschichte über Datenbanken und Serverprogrammierung abgeschlossen.

Es wurde bereits gesagt, dass spezielle Elemente von Webseiten – Formulare – Daten an das Serverprogramm senden. Im nächsten Kapitel werden wir über Formulare und die Arbeit mit ihnen in Dreamweaver sprechen. Und erst dann gehen wir zur Serverprogrammierung selbst über.

Angenommen, Sie haben eine einfache HTML-Website erstellt und möchten die Meinungen der Besucher zu den veröffentlichten Inhalten erfahren. Was wird dafür benötigt? - richtig: Besuchern die Möglichkeit geben, Kommentare zu hinterlassen. Dies kann nicht mit HTML oder CSS erreicht werden. Und hier helfen Programme (auch Skripte genannt), die mit Web-Programmiersprachen erstellt wurden.

Es stellt sich heraus: Web Programmierung kann als Erstellung spezieller Programme für deren Nutzung im Internet bezeichnet werden. Es gibt eine ganze Reihe von Programmiersprachen: C++, Perl, Java, PHP, JavaScript, Python, Visual Basic und andere.

Komplexität Programmiersprachen anders. Je komplexer eine Programmiersprache ist, desto mehr Möglichkeiten hat sie. Komplexere Webanwendungen werden in komplexeren Sprachen geschrieben. Alle Programmiersprachen lassen sich in zwei Lager einteilen: Server und Client.

Lassen Sie uns ein wenig über Begriffe sprechen. Alle Informationen im Internet werden auf entfernten Computern, sogenannten Servern, gespeichert. Die Gegenseite sind Netzwerkbenutzer, die nach den benötigten Informationen suchen; sie werden üblicherweise als Clients bezeichnet.

Client-Programmiersprachen

Die gebräuchlichsten davon sind JavaScript und Visual Basic. Die Besonderheit solcher Sprachen liegt in ihrem Namen. In geschriebene Programme Client-Programmiersprachen auf dem Client-Rechner verarbeitet. Vereinfacht ausgedrückt werden Skripte vom Browser auf Ihrem Computer verarbeitet. Ihre Vor- und Nachteile ergeben sich aus dieser Funktion.

Der größte Vorteil besteht darin, dass das Webdokument nicht zur Verarbeitung an den Server gesendet werden muss. Diese Funktion erhöht die Lesegeschwindigkeit des Skripts erheblich. Der Datenverkehr wird reduziert, was Geld spart und die Belastung des Servers verringert. Es ist auch keine Installation zusätzlicher Software zur Verarbeitung von Skripten erforderlich, denn Sie werden von Browsern verarbeitet.

Mängel Client-Programmiersprachen ergeben sich auch aus den Features. Verschiedene Browser interpretieren Skripte möglicherweise entsprechend ihren individuellen Vorlieben. Daher können die Ergebnisse bei der Anzeige derselben Dokumente unterschiedlich sein. Allerdings ist die Arbeit verschiedener Browser in letzter Zeit immer einheitlicher geworden. Ein weiterer Nachteil ist die Offenheit des Codes solcher Sprachen für Benutzer.

Server-Programmiersprachen

Server-Programmiersprachen bzw. serverseitig arbeiten. Im Zusammenspiel mit Datenbanken halten sie die Kommunikation zwischen Benutzer und Server aufrecht. Beim Empfang einer Anfrage mit einer Webdokumentadresse von einem Browser kontaktieren Serverprogramme die Datenbank. Die Datenbank stellt den Serverskripten Informationen über die Webseite zur Verfügung und sendet diese nach der Verarbeitung zur Interpretation an den Client-Browser, der das Ergebnis der gemeinsamen Arbeit auf dem Monitor anzeigt.

Ein vereinfachtes Diagramm einer solchen Arbeit ist in der Abbildung dargestellt.