Active Server Pages


Active Server Pages (kurz: ASPs) sind Teil der Active Plattform von Microsoft und dienen in erster Linie dazu, dynamische Websiten zu erzeugen. ASP ist dabei ein Framework oder eine Skriptumgebung, die es ermöglicht, dynamische HTML-Dokumente an Nutzer zu senden, nachdem eine Datenbankabfrage oder Ähnliches stattgefunden hat. In der Praxis sind ASPs HTML-Dokumente, die auf einem Microsoft-Server ausgeführt werden, bevor dieser eine Antwort an den Klient sendet. Somit können Datenbankabfragen, Formularverarbeitungen, Gästebücher oder Foren erzeugt werden.

Allgemeine Informationen

Microsoft hat den Support für ASP, das seit 1996 verwendet wird, bereits eingestellt. Jedoch folgte mit ASP.NET eine Nachfolgetechnologie im Jahr 2002, die auch die Nachteile gegenüber der Programmiersprache PHP wettmachen sollte. Verantwortlich für den Erfolg von ASP.NET war die Einbindung einer neuen Laufzeitumgebung, der Common Language Runtime (CLR). Die CLR interpretiert den Code und gibt ihn aus, wobei ASP.NET kompatibel mit anderen Programmiersprachen ist und diese interpretieren kann, wenn sie sich an den Common Language Infrastructure-Standard (CLI) halten.

In ASPs können sowohl HTML-Befehle als auch verschiedene Skripte eingebunden werden. Insbesondere die Verknüpfung mit anderen Skriptsprachen wie Visual Basic Script, Jscript, aber auch Perl oder ActiveX-Elementen machen ASPs zu einer beliebten Alternative zu PHP. Active Server Pages werden heutzutage noch relativ oft eingesetzt; insbesondere im privaten Bereich. Die Optionen, die ASP bietet, sind mit anderen Technologien wie PHP oder auch Java Server Pages (JSP) bezüglich ihrer Mächtigkeit vergleichbar.[1] Active Server Pages können zudem mithilfe des Common Object Models (COM) mit unterschiedlichen Plattformen kommunizieren, um zum Beispiel interaktive Inhalte hinzuzufügen oder eine Interaktion zwischen Website und Datenbank zu ermöglichen.

Funktionsweise

ASPs beinhalten meist Skripte, kleine Programmcodes, die ausgeführt werden, wenn ein Klient eine Anfrage an den Server stellt. Sie werden serverseitig eingebunden (SSI: server side include) und greifen typischerweise auf eine Datenbank zu, bevor eine Antwort an den Klienten gesendet wird. Der Programmcode, die eigentliche Active Server Page, wird aktiv auf dem Server ausgeführt. Sie ist eine Art Servermodul, das bei einem Aufruf durch einen Klienten die ASP-Codezeilen in den HTML-Dokumenten sucht und ausführt. Je nachdem, welche Art von Skriptbefehlen dort notiert wurden, verändert das ASP-Modul anschließend die Ausgabe des HTML-Dokumentes an den Klienten.

Voraussetzung dafür ist eine Serverumgebung, die ASP unterstützt. Ab Windows NT und Windows 95 werden alle Server von Windows standardmäßig mit einem ASP-Modul ausgestattet. Für andere Server gibt es Erweiterungen wie ChiliASP oder InstantASP. Zur Bearbeitung von ASP-Dateien mit der Endung „*.asp“ ist lediglich ein Texteditor notwendig, der HTML-Syntax lesen und schreiben kann. Durch die Endung weiß der Server, das er diese Datei vor der Ausgabe an den Klienten verarbeiten muss.[2]

Die Dateien selbst sind in der Regel von herkömmlichen HTML-Dokumenten nur durch einzelne Codezeilen zu unterscheiden. Diese Codezeilen werden durch das ASP-Modul aufgerufen und setzen bestimmte Prozesse in Gang, wie zum Beispiel das Aufrufen eines Response-Objektes, um die Ausgabe der Website an den Klienten zu verändern. Der Quellcode, der zum Klienten gesendet wird, beinhaltet keine ASP-Skripte mehr. Es wird vielmehr eine bereinigte Kopie der originalen HTML-Datei gesendet. Die Datei mit den Active Server Pages Anweisungen bleibt auf dem Server.

Ein Beispiel für die Einbindung eines ASP-Skriptes:

<html>
<head><title>Dies ist eine ASP-Datei</title></head>
<body>
 <script language=”JavaScript” runat=”server”>
  Response.write(‘Eine ASP-Ausgabe!’);
 </script>
</body>
</html>

Das Editieren der einzubindenden Skripte kann mithilfe von VBScript (Standard) oder JScript (Defintionsabhängig) erfolgen. Dies würde wie folgt aussehen:

<% @ Language=”JScript” %>
<%
 Response.write(“Ich bin Skript, das mit JScript editiert wurde!”);
%>
<script language=”VBScript” runat=”server”>
 Response.write(“Ich bin Skript, das mit VBScript editiert wurde!”)
</script>

Das Aufrufen von Objekten mithilfe von ASP-Codezeilen kann auf verschiedene Objekte, Methoden und Eigenschaften zurückgreifen. Diese Objekte sind speziell auf serverseitige Aufgaben ausgelegt.

Eine Auswahl:[3]

  • Response Objekte: Mit den Response-Objekte wird die Ausgabe an den Klienten gesteuert. So können Schreibregeln, Redirects oder Cache-Vorgänge definiert werden.
  • Server Objekte: Hiermit werden Arbeiten auf dem Server vollzogen, wie URL Encoding oder die Erzeugung von Objekten, die dann später referenziert werden können.
  • Request-Objekte: Startet ein Klient eine Anfrage an den Server, können Request-Objekte Zeichenketten, Variablen oder auch Cookies ausgeben.
  • ASPError-Objekte: In den Error-Objekte sind Daten zu Fehlern gespeichert. Fehlermeldung, Zeile im Code oder die entsprechende Datei zum Beispiel.
  • Application-Objekt: Hier könnten Anwendungsvariablen gespeichert oder statische Objekte aufgerufen werden.
  • Session-Objekt: Daten aus einer Sitzung können zum Beispiel verändert und gespeichert werden.

Grundsätzlich bietet ASP eine Vielzahl an Eigenschaften und Methoden innerhalb dieser verschiedenen Objekte, was die Skriptumgebung zu einem mächtigen Werkezug bei der Erstellung von dynamischen Websites macht.

Bedeutung SEO

Werden ASPs serverseitig generiert, handelt es sich in der Ausgabe letztendlich um HTML-Dokumente. Deshalb sind bei der Erstellung des Programmcodes auch verschiedene Aspekte der Suchmaschinenoptimierung zu beachten. Zunächst gilt es, Duplicate Content zu vermeiden. Eine dynamisch generierte Website sollte stets als solche ausgezeichnet werden und nicht identisch sein mit einem statischen HTML-Dokument auf dem gleichen Server. Ein permanenter Redirect oder die Angabe einer kanonischen URL können hier Abhilfe schaffen, um den PageRank beider Websiten nicht negativ zu beeinflussen. Zwei URLs sollten niemals den gleichen Content ausgeben.

Ein weiterer Aspekt ist die Auswahl geeigneter Titles: Bestimmte Keywords sollten nicht nur im Text, sondern auch als Überschriften und Titel der Website eingebunden werden. Dabei ist darauf zu achten, dass valides HTML erzeugt wird. Beispielsweise hat jedes valide HTML-Dokument nur eine h1-Überschrift. Weitere relevante Aspekte sind die Verwendung von JavaScript für Menüs oder das Vermischen von Layout und Inhalt mittels CSS-Inline-Elementen. Beides kann sich negativ auf das Crawlen und Ranken einer Website auswirken. Allgemein sollte der Skriptcode, genauso wie der Layoutcode mit CSS ausgelagert und in den entsprechenden Dateien referenziert werden. Das hat auch zur Folge, dass die Text-to-Code-Ratio eine positive Bilanz aufweist.[4]

Einzelnachweise

  1. ASP (active server pages) itwissen.info. Abgerufen am 24.08.2015
  2. ASP: Einführung html-world.de. Abgerufen am 24.08.2015
  3. ASP: Syntax html-world.de. Abgerufen am 24.08.2015
  4. 10 SEO tips for your ASP.NET website codeproject.com. Abgerufen am 24.08.2015

Weblinks