ASP Tipp 21: Aktivieren Sie Browser- und Proxyzwischenspeicherung

ASP deaktiviert das Zwischenspeichern in Browsern und Proxys automatisch. Dies ist sinnvoll, da eine ASP-Seite von Natur aus dynamisch ist und potenziell zeitempfindliche Informationen enthält. Wenn eine Seite beim Anzeigen nicht jedes Mal aktualisiert werden muss, sollten Sie die Browser- und Proxyzwischenspeicherung aktivieren. Dadurch können Browser und Proxys eine „zwischengespeicherte“ Kopie einer Seite für einen bestimmten, von Ihnen festgelegten Zeitraum verwenden. Durch Zwischenspeichern wird die Belastung des Servers drastisch reduziert, und Benutzer machen positivere Erfahrungen.

Welche dynamischen Seiten eignen sich zum Zwischenspeichern? Hierzu einige Beispiele:

  1. Eine Wetterseite, auf der das Wetter nur alle fünf Minuten aktualisiert wird.
  2. Eine Homepage mit Nachrichten oder Pressemitteilungen, die nur zweimal täglich aktualisiert wird.
  3. Ein Liste mit der Leistung von Fonds, deren Statistiken nur alle paar Stunden aktualisiert werden.

Beachten Sie, dass bei der Browser- oder Proxyzwischenspeicherung auf Ihrem Webserver weniger Treffer verzeichnet werden. Wenn Sie versuchen, alle Seitenansichten genau zu messen oder Werbung auf einer Website zu platzieren, machen Sie mit der Browser- oder Proxyzwischenspeicherung möglicherweise keine guten Erfahrungen.

Die Browserzwischenspeicherung wird vom HTTP-Header Expires gesteuert, der von einem Webserver an einen Browser gesendet wird. ASP stellt zwei einfache Mechanismen zum Senden dieses Headers bereit. Sie können die Seite so konfigurieren, dass sie nach einer bestimmten Anzahl von Minuten abläuft. Legen Sie dazu die Response.Expires-Eigenschaft fest. In folgendem Beispiel wird dem Browser mitgeteilt, dass der Inhalt nach 10 Minuten abläuft.

<% Response.Expires = 10 %>

Wenn Sie für Response.Expires eine negative Zahl oder Null festlegen, wird das Zwischenspeichern deaktiviert. Verwenden Sie auf jeden Fall eine große negative Zahl, z. B. -1000 (etwas mehr als ein Tag), um Unterschiede zwischen den Uhren auf dem Server und den Browsern zum umgehen. Eine zweite Eigenschaft, Response.ExpiresAbsolute, ermöglicht das Festlegen einer bestimmten Uhrzeit, zu der der Inhalt abläuft.

<% Response.ExpiresAbsolute = #May 31,2001 13:30:15# %>

Statt den Ablauf mit dem Response-Objekt festzulegen, können Sie ein <META>-Kennzeichen in HTML (normalerweise im Abschnitt <HEAD> der HTML-Datei) schreiben. Einige Browser respektieren diese Anweisung, Proxys jedoch nicht.

<META HTTP-EQUIV=„Expires“ VALUE=„May 31,2001 13:30:15“>

Zum Schluss können Sie noch angeben, ob der Inhalt für eine Zwischenspeicherung in einem HTTP-Proxy gültig ist. Verwenden Sie dazu die Response.CacheControl-Eigenschaft, und legen Sie sie auf Public fest, um Proxys das Zwischenspeichern des Inhalts zu ermöglichen.

<% Response.CacheControl = „Public“ %>

Diese Eigenschaft ist standardmäßig auf Private festgelegt. Beachten Sie, dass die Proxyzwischenspeicherung nicht für Seiten aktiviert werden sollte, die benutzerspezifische Daten anzeigen, da der Proxy möglicherweise Seiten anzeigt, die anderen Benutzern gehören.

ASP Tipp 22: Verwenden Sie, wenn möglich, Server.Transfer anstelle von Response.Redirect

Response.Redirect teilt dem Browser mit, eine andere Seite anzufordern. Diese Funktion wird häufig verwendet, um Benutzer zu einer Anmeldungs- oder Fehlerseite umzuleiten. Da eine Umleitung eine neue Seitenanforderung erzwingt, muss der Browser zwei Anfragen an den Webserver senden, und der Webserver muss eine zusätzliche Anfrage bewältigen. IIS 5.0 führt die neue Funktion Server.Transfer ein, die die Ausführung auf eine andere ASP-Seite auf dem gleichen Server überträgt. Dadurch wird die zusätzliche Anfrage des Browsers beim Server vermieden. Das Resultat ist eine insgesamt bessere Systemleistung, und Benutzer profitieren von besseren Antwortzeiten. Schlagen Sie in der Artikelreihe „New Directions in Redirection“ nach, in der Server.Transfer und Server.Execute behandelt werden.

Schlagen Sie außerdem in „Leveraging ASP in IIS 5.0“ nach. Dort erhalten Sie eine ausführliche Liste der neuen Funktionen in IIS 5.0 und ASP 3.0.

 

ASP Tipp 23: Verwenden Sie nachstehende Schrägstriche in Verzeichnis-URLs

In diesen Zusammenhang gehört auch der Tipp, in URLs, die auf Verzeichnisse verweisen, einen nachfolgenden Schrägstrich (/) zu verwenden. Wenn Sie den nachstehenden Schrägstrich auslassen, sendet der Browser eine Anfrage an den Server, der ihm mitteilt, dass er nach einem Verzeichnis fragt. Der Browser sendet dann eine zweite Anfrage, bei der dem URL ein Schrägstrich hinzugefügt wird. Der Server antwortet erst dann mit dem Standarddokument für dieses Verzeichnis, oder, wenn es kein Standarddokument gibt und die Verzeichnissuche aktiviert wurde, mit einer Verzeichnisliste. Durch Hinzufügen des Schrägstrichs wird die erste unnötige Anfrage vermieden. Aus Gründen der Benutzerfreundlichkeit können Sie den nachstehenden Schrägstrich in Anzeigenamen auslassen.

Schreiben Sie z. B. folgenden Code:

<a href=„http://msdn.microsoft.com/workshop/“ title=„MSDN Web Workshop“>http://msdn.microsoft.com/workshop</a>

Dies gilt auch für URLs, die in einer Website auf die Homepage verweisen.

Verwenden Sie folgenden Code: <a href=„http://msdn.microsoft.com/“>, not <a href=„http://msdn.microsoft.com“>.

ASP Tipp 24: Vermeiden Sie das Verwenden von Servervariablen

Beim Zugreifen auf Servervariablen sendet Ihre Website eine Sonderanfrage an den Server und sammelt alle Servervariablen, d. h. nicht nur die von Ihnen angeforderte. Dies kann mit der Suche nach einem spezifischen Dokument in einem Aktenordner, der sich irgendwo in Ihrem Keller befindet, verglichen werden. Wenn Sie dieses Dokument benötigen, müssen Sie den Aktenordner zuerst im Keller finden. Das Gleiche passiert, wenn Sie eine Servervariable anfordern; die Leistungseinbuße tritt auf, wenn Sie eine Servervariable zum ersten Mal anfordern. Nachfolgende Anforderungen von anderen Servervariablen führen nicht zu Leistungseinbußen.

 Greifen Sie nie uneingeschränkt auf das Request-Objekt zu (z. B. Request(„Data“)). Für Elemente, die nicht in Request.Cookies, Request.Form, Request.QueryString oder Request.ClientCertificate enthalten sind, wird implizit Request.ServerVariables aufgerufen. Die Request.ServerVariables-Auflistung ist wesentlich langsamer als andere Auflistungen.

 

ASP Tipp 25: Aktualisieren Sie auf die neueste und beste Version

Systemkomponenten werden ständig aktualisiert. Daher wird empfohlen, sie auf die neueste und beste Version zu aktualisieren. Eine Aktualisierung auf Windows 2000 (und somit auf IIS 5.0, ADO 2.5, MSXML 2.5, Internet Explorer 5.0, VBScript 5.1 und Jscript 5.1) wäre optimal. IIS 5.0 und ADO 2.5 implementieren bei Mehrprozessorcomputern spektakuläre Leistungszunahmen. Unter Windows 2000 wird ASP sehr gut auf vier oder mehr Prozessoren skaliert, während es unter IIS 4.0 bei mehr als zwei Prozessoren nicht besonders gut skaliert wurde. Je mehr Skriptcode und ADO in Ihrer Anwendung verwendet wird, desto stärker profitiert die Leistung von einer Aktualisierung auf Windows 2000.  

Wenn Sie noch nicht auf Windows 2000 aktualisieren können, können Sie dennoch auf die neuesten Versionen von SQL Server, ADO, VBScript und JScript, MSXML, Internet Explorer und NT 4 Service Packs aktualisieren. Alle diese warten mit besserer Leistung und höherer Zuverlässigkeit auf.

 

ASP Tipp 26: Optimieren Sie Ihren Webserver

Es gibt mehrere IIS-Optimierungsparameter, die die Siteleistung verbessern können. Bei IIS 4.0 führte ein Erhöhen des ASP-Parameters ProcessorThreadMax (siehe IIS-Dokumentation) in vielen Fällen, und insbesondere auf Sites, die auf Back-End-Ressourcen, wie Datenbanken, oder andere Middleware-Produkte, wie z. B. Screenscraper, warten, zu deutlichen Vorteilen. In IIS 5.0 werden Sie möglicherweise feststellen, dass es wesentlich effizienter ist, ASP Thread Gating zu aktivieren, als zu versuchen, eine optimale Einstellung für den jetzt als AspProcessorThreadMax bezeichneten Parameter zu finden.

Gute Nachschlagewerke finden Sie weiter unten unter „Optimieren von IIS“.  

Die optimalen Konfigurationseinstellungen ergeben sich (unter anderem) aus dem Anwendungscode, der Hardware- und der Clientarbeitsauslastung. Die einzige Möglichkeit, die optimalen Einstellungen zu ermitteln, ist das Ausführen von Leistungstest. Diese werden im nächsten Tipp behandelt.

 

ASP Tipp 27: Testen Sie die Leistung

Wie bereits weiter oben erwähnt, handelt es sich bei der Leistung um ein Merkmal. Wenn Sie versuchen, die Leistung auf einer Site zu verbessern, setzen Sie sich ein Leistungsziel, und machen Sie nach und nach Verbesserungen, bis Sie Ihr Ziel erreichen. Fähren Sie nicht alle Leistungstests am Ende des Projekts durch. Zu diesem Zeitpunkt ist es für die notwendigen Architekturänderungen oft zu spät, und Ihre Kunden werden enttäuscht. Fähren Sie Leistungstest im Rahmen der täglichen Testläufe durch. Sie können die Leistung einzelner Komponenten, wie z. B. von ASP-Seiten oder COM-Objekten, oder der Site insgesamt testen.

Viele Entwickler testen die Leistung ihrer Websites, indem sie Seiten mit einem einzelnen Browser anfordern. Dadurch erhalten Sie einen guten Eindruck von der Antwortfähigkeit Ihrer Site, haben aber keinen Einblick in die Funktionalität der Site bei starker Belastung.

Um die Leistung genau zu messen, benötigen Sie im Allgemeinen eine dedizierte Testumgebung. Diese Umgebung sollte Hardware umfassen, die der Produktionshardware in Bezug auf Prozessorgeschwindigkeit, Anzahl der Prozessoren, Arbeitsspeicher, Festplatte, Netzwerkkonfiguration usw. möglichst ähnlich ist. Danach müssen Sie die Clientarbeitsauslastung definieren: die Anzahl der gleichzeitigen Benutzer, die Häufigkeit der Anfragen durch die Benutzer, die Arten von Seiten, die diese anfordern usw. Wenn Sie keinen Zugang zu realistischen Gebrauchsdaten von Ihrer Site haben, müssen Sie diese schätzen. Zum Schluss benötigen Sie ein Tool, das die erwarteten Clientarbeitsauslastungen simulieren kann. Mit diesen Tools können Sie Fragen wie z. B. die folgende beantworten: „Wie viele Server werden für N simultane Benutzer benötigt?“ Sie können außerdem Engpässe vorhersehen und deren Optimierung planen.

Im Folgenden sind einige gute Webtools für Belastungstests aufgeführt. Microsoft Web Application Stress (WAS) Toolkit ist sehr empfehlenswert. Mit WAS können Sie Testskripts aufzeichnen und anschließend simulieren, dass Hunderte oder Tausende von Benutzern auf Ihre Webserver zugreifen. WAS gibt zahlreiche Statistiken aus, darunter die Anzahl der Anfragen pro Sekunde, die Verteilung der Antwortzeiten und Fehlerzahlen. Es verfügt sowohl über eine reichhaltige Client- als auch eine webbasierte Oberfläche. Die Weboberfläche ermöglicht die Remoteausführung von Tests.

 

Ordner löschen die mit .. oder . enden

Unter Windows ist es nicht einfach möglich, Ordner oder Dateien zu löschen, die ungültige Zeichen enthalten.

Ein Ordner mit einem ungültigen Zeichen ist z.B. „C:\temp\meinordner ..\test\“

Im DOS Fenster können solche Ordner bzw. Dateien mit dem Befehl rd (rmdim) und dem Pfadpostfix \\?\ gelöscht werden.

Beispiel:

Im Dos Fenster (Start\Ausführen\cmd)

C:>rd „\\?\C:\temp\meinordner ..\test\“

Quelle: http://support2.microsoft.com/?kbid=320081

DNS SPF Einträge

Das Sender Policy Framework (SPF; früher Sender Permitted From) ist ein Verfahren, das das Fälschen der Absenderadresse einer E-Mail verhindern soll. Es entstand als Verfahren zur Abwehr von Spam.

Es gibt keinen offiziellen SPF Eintrag im DNS, da sich diese nicht durchgesetzt haben, weil viele den SPF Eintrag als TXT Eintrag umgesetzt haben.

Beispiel TXT Eintrag für SPF

IhreDomain        IN    TXT    „v=spf1 mx -all“

E-Mails dürfen nur von Servern versendet werden, deren IP Adresse in einem MX Record eingetragen ist.

Eigene Homepage

Homepage

Auf dieser Site wollen wir Ihnen den Weg beschreiben wie Sie eine eigene Homepage erstellen.

Wir wollen einige Aspekte aufzeigen und zur Diskussion anregen. Diese Seite wird von uns ständig weiterentwickelt und soll eben als Leitfaden für jeden Programmierer für Websites, ob privat oder für Ihr Geschäft, dienen.

Falls Sie Anregungen oder Erweiterungen haben, so können Sie diese uns gerne schreiben. Email: www@harb.at

Voraussetzungen

Zu aller erst benötigen Sie ein Domain. Der Domainname ist der Name, den die User in den Browser (Internet Explorer, Mozilla) eingeben, um auf Ihre Homepage zu kommen.

Zusätzlich zur Domain benötigen Sie einen Speicherplatz für Ihre Homepage. Dies wird häufig als Webspace oder Webhosting bezeichnet. Dieser Speicherplatz ist auf speziellen Servern, die ständig eine Internetverbindung aufweisen. Sie bekommen vom Webhoster (diejenige Firma die Webhosting anbietet) eine gewisse Größe an Speicher zugeteilt.

Zuallerletzt benötigen Sie noch ein FTP Programm, mit welchem Sie Ihre Homepage auf den Server der Webhostingfirma laden können.

Domain

Eine Domain setzt sich grundsätzlich aus dem Namen und der Endung zusammen. Z.B. meinname.at wobei meinname der Name ist und „at“ die Endung darstellt, in diesem Fall bedeutet .at dass es sich um eine Länderdomain von Österreich handelt. Im Fachjargon wird „at“ als TopLevel bezeichnet.

Die wichtigsten Endungen sind:

  • .at Österreich
  • .de Deutschland
  • .ch Schweiz
  • .it Italien.com International Kommerziell
  • .net International Internet
  • .biz International Business
  • .info International Informationen
  • .org International Organisationen

Es gibt schon unzählige Endungen. Auch exotische wie .tv können gewählt werden. Wenn Sie allerdings Business betreiben, sollten Sie entweder eine internationale Domain oder eine Länderdomain wählen. Die Wahl der richtigen Domainendung hängt auch vom Einsatzgebiet der Homepage ab.

Beim Namen kann man die Kreativität freien Lauf lassen. Sie können fiktive Namen, Ihren Firmennamen, Ihren Nachnamen wählen. Sie können einfach alles wählen, was Ihnen vorkommt. Entscheidend dabei ist, dass die Domain noch frei ist, und sie kein Markenrecht verletzt. (zum Beispiel Coca-Cola.at würde das Markenrecht verletzen). Was sehr beliebt ist, sind zusammengesetzte Wörter wie z.B. pension-meinname.at

Wie überprüfen Sie ob einen Domain noch frei ist. Hierzu gibt es Tools, die Domainregistrare oder Webhoster anbieten. Oft werden Sie als Whois oder Domain Check bezeichnet.

Webhoster

Der Speicherplatz ist der Platz der Ihnen vom Webhoster zugeteilt wird. Es ist ein fix reservierter Bereich auf einer Festplatte auf einem Internetserver. Vom Webhostinganbieter erhalten Sie Zugangsdaten, mit denen Sie mittels eines FTP Programms Ihre Homepage auf den Internetserver laden können. Zusätzlich zum Speicherplatz stellt der Webspaceanbieter auch Emailadressen zur Verfügung, die Ihnen entweder das Hostingunternehmen selbst einrichtet, oder Ihnen ein Tool zur Einrichtung von E-Mailadressen zur Verfügung stellt.

Welcher Webhostinganbieter ist nun der richtige. Mittlerer Weile gibt es schon mehrere hundert im deutschsprachigem Raum. Als Kriterium kann festgelegt werden, wie lange schon jemand auf dem Markt ist. Sie sollten welche wählen, die mindestens 5 Jahre auf dem Markt sind, wenn Sie ein Business über das Internet betreiben möchten. Bei diesen haben Sie eine größere Sicherheit, dass diese auch noch länger bestehen bleiben.

Auch ist es wichtig, dass der neue Webhostingaccount die wichtigsten Basistechnologien wie ASP, ASP.net und PHP unterstützen. Dies stellt sicher, dass Sie fast jedes am Markt erhältliche Webprogramm (CMS, Foren, E-Learning Systeme…) installieren können.

Der Markt der Webhostinganbieter ist für einen User nicht nur aufgrund der Menge an Webhostern unüberschaubar geworden, sondern auch aufgrund der unzähligen Angebote und Technologien die es gibt.

Sie sollten deshalb zuerst darüber nachdenken, was Sie eigentlich benötigen. Wenn Sie eine private Homepage haben, mit etwa 50 Seiten und 500 Bildern, reicht Ihnen ein Speicherplatz zwischen 50 und 200 MB. Falls Sie eine Bildergalerie mit mehreren tausend Bildern haben, müssen Sie schon dementsprechend mehr einkalkulieren. Rechnen Sie pro Bild mit etwa 30 Kilobyte und pro Seite mit etwas 20 Kilobyte im Schnitt. 1024 Kilobyte = 1 Megabyte. Einfachhalber können Sie natürlich auch so rechnen: 1000 Kilobyte = 1 Megabyte und 1000 Megabyte = 1 Gibabyte.

Als nächstes stellt sich die Frage, welche Technologien sollte Ihr Webhostingangebot unterstützen. Falls Sie dynamische Webseiten einsetzen möchten, haben sich grundsätzlich 2 Sprachen durchgesetzt – PHP und ASP bzw. ASP.net. PHP ist weit verbreitet, da es kostenlos ist. ASP und ASP.net unterstützen nicht alle Webhoster. Ideal ist es, wenn Sie ein Angebot wählen, dass beide Programmsprachen unterstützt.

Datenbanken sind eventuell auch noch ein Thema. Falls Sie gedenken ein Forum einzusetzen, dann wird oftmals auch eine Datenbank vorausgesetzt. Hier gibt es 3 weit verbreitete Systeme. Einmal die kostenlose MySQL Datenbank und andererseits die Microsoft ACCESS Datenbank bzw. die MS SQL Datenbank. Auch hier sollten Sie, falls Sie Bedenken haben, darauf achten, dass Ihr Webhoster alle Formate unterstützt.

FTP

Wenn Sie Ihre Website entworfen und programmiert haben, müssen Sie sämtliche Dateien auf den Internetserver hochladen. Hierfür gibt es eigene Programme, die man FTP – Programme nennt. Diese sind ähnlich aufgebaut wie der Windows Explorer. Im FTP Programm müssen Sie die Accountdaten Ihres Webhoster eingeben. Danach können Sie sich mit Ihrem Internetserver verbinden und die Dateien hochladen.

Eines der bekanntesten kostenlosen FTP Programme ist Filezilla.