Webhosting und Domains

Richtig.Gemacht

Wenn Sie eine Website benötigen, starten Sie hier.
Unser Service bietet eine leistungsstarke und bewährte Plattform,
die perfekt für das Hosting Ihrer Website ist.
  • Starter Paket
  • 4,90
    pro Monat
  • Unlimitierte Anzahl
    Websiten und Domains
  • 5 GB Speicherplatz
  • 500 E-Mailadressen
  • ASP.net / MS SQL / PHP / MySQL
    Unterstützung
  • Wordpress Toolkit für mehr Komfort und Sicherheit inkludiert
  • Profi Newslettersystem inkludiert
  • Ein Klick Installation
    Wordpress, Joomla, DNN
  • Backup System
  • SSL inkludiert
  • {{content-11}}
  • Standard Paket
  • 7,90
    pro Monat
  • Unlimitierte Anzahl
    Websiten und Domains
  • 10 GB Speicherplatz
  • 1000 E-Mail Adressen
  • ASP.net / MS SQL / PHP / MySQL
    Unterstützung
  • Wordpress Toolkit für mehr Komfort und Sicherheit inkludiert
  • Profi Newslettersystem inkludiert
  • Ein Klick Installation
    Wordpress, Joomla, DNN
  • Backup System
  • SSL inkludiert
  • {{content-11}}
  • Business Paket
  • 11,90
    pro Monat
  • Unlimitierte Anzahl
    Websiten und Domains
  • 20 GB Speicherplatz
  • 2000 E-Mailadressen
  • ASP.net / MS SQL / PHP / MySQL
    Unterstützung
  • Wordpress Toolkit für mehr Komfort und Sicherheit inkludiert
  • Profi Newslettersystem inkludiert
  • Ein Klick Installation
    Wordpress, Joomla, DNN
  • Backup Profisystem
  • SSL inkludiert
  • {{content-11}}

Traffic Flatrate!

Keine Zusatzkosten bei hohem Trafficvolumen. Unsere Pakete beinhalten unlimitierten Traffic. Keine versteckten Kosten!

99,95 % Verfügbarkeit

Wir garantieren Ihnen eine Verfügbarkeit Ihres Webhosting Paketes von 99,95% im Monatsmittel laut unseren Service Level Agreements.

Green Power

Wir betreiben unsere Server nur in Rechenzentren, die zu 100% Ökostrom verwenden!

Senden Sie uns eine Nachricht

Wir sind hier um Ihnen zu helfen!

Sie haben Fragen? Unsere Experten helfen Ihnen!

  • Rufen Sie uns an!
  • Nutzen Sie unser Ticket System.
  • Schreiben Sie uns eine E-Mail.
  • Finden Sie wertvolle Beiträge in den FAQ.
  • Verfolgen Sie unseren Blog mit vielen Tipps und Tricks.

Über uns

Harb EDV ist als Firma seit 1992 aktiv und eingetragen. Seit 1999 ist die Spezialisierung auf Webhosting, Server und Domains erfolgt.

Wir sind unseren Kunden verpflichtet. Zuverlässig, kompetent und preiswert – mehr Leistung und mehr Qualität. Die langjährige Erfahrung im Bereich Webhosting hat uns zu einem zuverlässigen Partner für unsere Kunden gemacht.

Qualitative Webhostinglösungen erfordert Kompetenz, verlässliche Technik, einen professionellen Service und Solidität auf Seiten des Dienstleisters.

Das gilt insbesondere in Zeiten eines wirtschaftlich schwachen Umfelds.

  • Garantien und Versprechen

    Wir geben nur Garantien und Versprechen, die wir auch tatsächlich einhalten können.

  • Qualität

    Die Qualität der Produkte, die Verfügbarkeit der Dienste und technische Kompetenz haben für uns oberste Priorität.

  • Transparenz, Verlässlichkeit, Beratung

    Transparenz, Verlässlichkeit, hochwertige Beratung und professioneller Support sind für uns die Eckpfeiler einer erfolgreichen Kundenbeziehung.

  • Engagement

    Engagement heißt für uns, uns den individuellen Anforderungen unserer Kunden zu stellen.

  • Innovationen

    Innovative und hochwertige Produkte sind die Basis unseres Erfolges.

  • Partner

    Unsere Partner müssen wirtschaftlich ebenso gesund sein wie wir es sind. Nur so kann Kontinuität gewährleistet werden.

  • Dienstleistung

    Wir sind Dienstleister aus Überzeugung: flexibel, kompetent und zuverlässig.

  • Verpflichtung

    Ein solides unternehmerisches Wachstum verstehen wir als Verpflichtung gegenüber unseren Kunden und ist für uns ebenso entscheidend wie unsere hohe Produktqualität.

Starten Sie jetzt mit Ihrer Homepage!

ASP Tipp 1: Zwischenspeichern Sie häufig verwendete Daten auf dem Webserver

Eine typische ASP-Seite ruft Daten aus einem Back-End-Datenspeicher ab und zeichnet die Ergebnisse dann in HTML (Hypertext Markup Language). Unabhängig von der Geschwindigkeit Ihrer Datenbank ist das Abrufen von Daten aus dem Speicher wesentlich schneller als aus dem Back-End-Datenspeicher. Das Lesen der Daten von einer lokalen Festplatte ist normalerweise ebenfalls schneller als das Abrufen aus einer Datenbank. Aus diesem Grund können Sie die Leistung in der Regel verbessern, indem Sie die Daten auf dem Webserver, entweder im Arbeitsspeicher oder auf der Festplatte, zwischenspeichern.

Beim Zwischenspeichern handelt es sich um einen klassischen Kompromiss zwischen Platz und Zeit. Wenn Sie die richtigen Informationen zwischenspeichern, können Sie beeindruckende Leistungssteigerungen erzielen. Damit ein Cache effektiv ist, muss er Daten enthalten, die häufig wieder verwendet werden. Außerdem muss die Neuberechnung dieser Daten (relativ) teuer sein. Ein Cache voller unnötiger Daten ist eine Speicherverschwendung.

Daten, die sich nicht oft ändern, bieten sich zum Zwischenspeichern an, denn Sie müssen sich keine Gedanken darüber machen, die Daten im Laufe der Zeit mit der Datenbank zu synchronisieren. Kombinationsfeldlisten, Referenztabellen, DHTML-Fetzen, XML-Zeichenfolgen (Extensible Markup Language), Menüoptionen und Sitekonfigurationsvariablen (einschließlich Datenquellennamen (DNS) IP-Adressen (Internet Protocol) und Web Pfade) sind für das Zwischenspeichern geeignet. Beachten Sie, dass es möglich ist, die Präsentation der Daten statt die Daten selbst zwischen zu speichern. Wenn sich eine ASP-Seite häufig ändert und ihre Zwischenspeicherung kostspielig ist (z. B. ihr gesamter Produktkatalog), sollten Sie eine HTML-Voraberstellung in Erwägung ziehen, anstatt sie bei jeder Anforderung neu zu zeichnen.

Wo sollen Daten zwischengespeichert werden? Welche Strategien sollten beim Zwischenspeichern befolgt werden? Daten werden häufig entweder im Arbeitsspeicher oder auf den Festplatten des Webservers zwischengespeichert. Diese Optionen werden in den nächsten beiden Tipps behandelt.

ASP Tipp 2: Zwischenspeichern Sie häufig verwendete Daten in den Objekten „Application“ oder „Session“

Das Application- und Session-Objekt in ASP stellen praktische Container zum Zwischenspeichern von Daten im Arbeitsspeicher bereit. Sie können Daten sowohl dem Application- als auch dem Session-Objekt zuweisen. Diese Daten verbleiben zwischen HTTP-Aufrufen im Arbeitsspeicher. Sitzungsdaten werden auf Benutzerbasis gespeichert, während die Anwendungsdaten für alle Benutzer freigegeben werden.

Wann werden die Daten in die Anwendung oder Sitzung geladen? Die Daten werden häufig beim Starten einer Anwendung oder Sitzung geladen. Um Daten beim Anwendungs- oder Sitzungsstart zu laden, fügen Sie Application_OnStart() oder Session_OnStart(), den jeweils geeigneten Code hinzu. Diese Funktionen müssen sich in der Datei Global.asa befinden. Ist dies nicht der Fall, können Sie sie hinzufügen. Sie können die Daten auch erst laden, wenn sie zum ersten Mal benötigt werden. Fügen Sie Ihrer ASP-Seite zu diesem Zweck Code hinzu, der prüft, ob die Daten vorhanden sind, und sie lädt, wenn dies nicht der Fall ist (oder schreiben Sie eine entsprechende wiederverwendbare Skriptfunktion). Dies ist ein Beispiel der klassischen Leistungsmethode, die als verzögerte Auswertung bezeichnet wird. Bei dieser wird eine Berechnung erst bei Bedarf durchgeführt. Dazu ein Beispiel:

<%

Function GetEmploymentStatusList

Dim d

d = Application(„EmploymentStatusList“)

If d = „„ Then

‚ FetchEmploymentStatusList function (not shown)

‚ fetches data from DB, returns an Array

d = FetchEmploymentStatusList()

Application(„EmploymentStatusList“) = d

End If

GetEmploymentStatusList = d

End Function

%>

Sie können ähnliche Funktionen für jeden benötigten Datenblock schreiben.

In welcher Form sollten die Daten gespeichert werden? Sie können alle Variantentypen speichern, da es sich bei allen Skriptvariablen um Varianten handelt. Sie können z. B. Zeichenfolgen, Ganzzahlen oder Arrays speichern. Sie werden häufig den Inhalt eines ADO-Recordsets in einem dieser Variablentypen speichern. Um Daten aus einem ADO-Recordset zu entnehmen, müssen Sie die Daten manuell Feld für Feld in VBScript-Variablen kopieren. Dies ist mithilfe einer der Beständigkeitsfunktionen für ADO-Recordsets, GetRows(), GetString() oder Save() (ADO 2.5), schneller und einfacher. Ausführliche Einzelheiten hierzu gehen über den Zweck dieses Artikels hinaus, aber im Folgenden sehen Sie eine Funktion, die die Verwendung von GetRows() zum Zurückgeben eines Arrays von Recordsetdaten demonstriert.

‚ Get Recordset, return as an Array

Function FetchEmploymentStatusList

Dim rs

Set rs = CreateObject(“ADODB.Recordset”)

rs.Open “select StatusName, StatusID from EmployeeStatus”, _

“dsn=employees;uid=sa;pwd=;”

FetchEmploymentStatusList = rs.GetRows() ‚ Return data as an Array

rs.Close

Set rs = Nothing

End Function

Die oben dargestellte Funktion könnte durch Zwischenspeichern des HTML-Inhalts dieser Liste statt des Arrays weiter angepasst werden. Dazu ein einfaches Beispiel:

‚ Get Recordset, return as HTML Option list

Function FetchEmploymentStatusList

Dim rs, fldName, s

Set rs = CreateObject(“ADODB.Recordset”)

rs.Open “select StatusName, StatusID from EmployeeStatus”, _

“dsn=employees;uid=sa;pwd=;”

s = “<select name=””EmploymentStatus””>” & vbCrLf

Set fldName = rs.Fields(“StatusName“) ‚ ADO Field Binding

Do Until rs.EOF

‚ Next line violates Don’t Do String Concats,

‚ but it’s OK because we are building a cache

s = s & „ <option>„ & fldName & „</option>„ & vbCrLf

rs.MoveNext

Loop

s = s & „</select>„ & vbCrLf

rs.Close

Set rs = Nothing ‚ See Release Early

FetchEmploymentStatusList = s ‚ Return data as a String

End Function

Unter den richtigen Umständen können Sie ADO-Recordsets selbst im Gültigkeitsbereich des Application- oder Session-Objekts zwischenspeichern. Dabei sind aber zwei Dinge zu beachten:

  1. ADO muss als Freethread-Komponente markiert sein.
  2. Sie müssen einen abgetrennten Recordset verwenden.

Wenn es keine Garantie dafür gibt, dass diese beiden Anforderungen erfüllt sind, sollten Sie ADO-Recordsets nicht zwischenspeichern. Im Tipp zu nicht beweglichen Komponenten und im Tipp weiter unten, in dem vom Zwischenspeichern von Datenbankverbindungen abgeraten wird, werden die Risiken beim Speichern von COM-Objekten im Gültigkeitsbereich eines Application- oder Session-Objekts behandelt.

Beim Speichern von Daten im Gültigkeitsbereich eines Application- oder Session-Objekts verbleiben die Daten in diesem, bis Sie sie durch Programmieren ändern, die Sitzung abläuft oder die Webanwendung neu gestartet wird. Was geschieht, wenn die Daten aktualisiert werden müssen? Um eine Aktualisierung von Anwendungsdaten manuell zu erzwingen, rufen Sie eine ASP-Seite auf, auf die nur der Administrator Zugriff hat, und die die Daten aktualisiert. Sie können Ihre Daten stattdessen auch in regelmäßigen Abständen mithilfe einer Funktion aktualisieren. Das folgende Beispiel speichert einen Zeitstempel mit den zwischengespeicherten Daten und aktualisiert die Daten nach einem bestimmten Zeitraum.

<%

‚ error handing not shown…

Const UPDATE_INTERVAL = 300 ‚ Refresh interval, in seconds

‚ Function to return the employment status list

Function GetEmploymentStatusList

UpdateEmploymentStatus

GetEmploymentStatusList = Application(„EmploymentStatusList“)

End Function

‚ Periodically update the cached data

Sub UpdateEmploymentStatusList

Dim d, strLastUpdate

strLastUpdate = Application(„LastUpdate“)

If (strLastUpdate = „„) Or _

(UPDATE_INTERVAL < DateDiff(„s“, strLastUpdate, Now)) Then

‚ Anmerkung: Hier können zwei oder mehr Aufrufe eingehen. Das ist in Ordnung und führt

‚ lediglich zu einigen unnötigen Abrufen (dies kann umgangen werden)

‚ FetchEmploymentStatusList function (not shown)

‚ fetches data from DB, returns an Array

d = FetchEmploymentStatusList()

‚ Update the Application object. Use Application.Lock()

‚ to ensure consistent data

Application.Lock

Application(„EmploymentStatusList“) = Events

Application(„LastUpdate“) = CStr(Now)

Application.Unlock

End If

End Sub

Ein weiteres Beispiel finden Sie im Artikel „World’s Fastest ListBox with Application Data“.

Beachten Sie, dass vom Zwischenspeichern von großen Arrays in Session- oder Application-Objekten abgeraten wird. Bevor Sie auf ein Element des Arrays zugreifen können, setzt die Semantik der Skripterstellungssprachen voraus, dass das gesamte Array kopiert wird. Wenn Sie z. B. ein aus 100.000 Elementen bestehendes Zeichenfolgenarray, das US-amerikanische Postleitzahlen lokalen Wetterstationen zuordnet, in einem Application-Objekt zwischenspeichern, muss ASP zuerst alle 100.000 Wetterstationen in ein temporäres Array kopieren, bevor Sie auch nur eine Zeichenfolge extrahieren können. In diesem Fall empfiehlt es sich, zum Speichern der Wetterstationen eine benutzerdefinierte Komponente mit einer benutzerdefinierten Methode zu erstellen oder eine der Wörterbuchkomponenten zu verwenden.

Zum Schluss noch ein weiterer Kommentar nach dem Motto „das Kind mit dem Badewasser ausschütten“. Arrays stellen schnelle Suche und Speicherung von zentralen Datenpaaren bereit, die im Arbeitsspeicher zusammenhängen. Das Indizieren eines Wörterbuches ist langsamer als das Indizieren eines Arrays. Sie sollten sich für die Datenstruktur entscheiden, die unter den gegebenen Umständen die beste Leistung bietet.

ASP Tipp 3: Zwischenspeichern Sie Daten und HTML auf den Festplatten des Webservers

In einigen Fällen liegen zu viele Daten für die Zwischenspeicherung im Arbeitsspeicher vor. „Zu viel“ ist subjektiv. Es kommt darauf an, wie viel Speicher Sie verwenden möchten, wie viele Elemente zwischengespeichert werden sollen, und wie oft diese Elemente abgerufen werden sollen. Wenn für das Zwischenspeichern im Arbeitsspeicher zu viele Daten vorliegen, sollten Sie auf jeden Fall das Zwischenspeichern von Daten in Text- oder XML-Dateien auf den Festplatten des Webservers in Erwägung ziehen. Sie können sich für eine Kombination des Zwischenspeicherns von Daten auf Festplatten und im Arbeitsspeicher entscheiden, um die optimale Zwischenspeicherungsstrategie für Ihre Site zu erhalten.

Beachten Sie, dass das Abrufen von Daten auf der Festplatte beim Ermitteln der Leistung einer einzelnen ASP-Seite nicht immer schneller als das Abrufen von Daten aus einer Datenbank ist. Durch Zwischenspeichern wird jedoch die Belastung der Datenbank und des Netzwerkes verringert. Bei einer hohen Belastung wird der Durchsatz hierdurch wesentlich verbessert. Das Zwischenspeichern kann beim Zwischenspeichern der Ergebnisse einer kostspieligen Abfrage, z. B. einer Mehrtabellenverknüpfung, einer komplexen gespeicherten Prozedur oder umfangreicher Resultsets, sehr effektiv sein. Testen Sie wie üblich die konkurrierenden Schemas.

ASP und COM stellen mehrere Tools zum Erstellen von festplattenbasierten Zwischenspeicherungsschemas bereit. Die ADO-Funktionen Save() und Open() des ADO-Recordsets speichern und laden Recordsets von der Festplatte. Mithilfe dieser Methoden könnten Sie den Beispielcode des Tipps zum Zwischenspeichern von Anwendungsdaten weiter oben neu schreiben, indem Sie den Code, der das Application-Objekt schreibt, durch eine Save()-Funktion zum Speichern in einer Datei ersetzen.

Es gibt einige weitere Komponenten, die mit Dateien eingesetzt werden können:

  1. Scripting.FileSystemObject ermöglicht das Erstellen, Lesen und Schreiben von Dateien. 
  2. MSXML, der zu Internet Explorer gehörende Microsoftä XML-Parser, unterstützt das Speichern und Laden von XML-Dokumenten. 
  3. Das LookupTable-Objekt (Beispiel, im MSN verwendet) eignet sich hervorragend zum Laden einfacher Listen von der Festplatte.

Zum Schluss sollten Sie das Zwischenspeichern der Datenpräsentation anstelle der Daten selbst auf der Festplatte in Erwägung ziehen. Vorgerenderter HTML-Inhalt kann als HTM- oder ASP-Datei auf der Festplatte gespeichert werden. Hyperlinks können direkt auf diese Dateien verweisen. Sie können das Generieren von HTML mit kommerziellen Tools automatisieren, wie z. B. Xbuilder oder den Funktionen zur Internetveröffentlichung von Microsoftä SQL Serverä. Stattdessen können Sie auch HTML-Ausschnitte in einer ASP-Datei aufnehmen. Sie können HTML-Dateien außerdem mithilfe von FileSystemObject von der Festplatte lesen oder XML für eine frühe Darstellung verwenden.