php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.04.2011, 07:17  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.870
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Ich persönlich empfinde deine Frage zwar etwas pauschal gestellt aber ich versuch sie mal lückenfüllend zu beantworten:

Zuerst eine Vorabinfo: Das was du willst ist nicht, das du verhindern willst das die Page neu geladen wird. Du möchtest die Ladezeiten für den Besucher der deine Webseite betrachtet so gering wie möglich halten, was im Kerngedanke ja auch eine Gute Idee ist. Zu verhindern das die Page dabei ständig neugeladen und neu aufgebaut ( heruntergeladen ) wird, ist im Kern aber auch der Denkfehler. Das Zauberwort heißt (Browser-)Caching.

Nundenn Theorie hin oder her, ein Beispiel muss her: Facebook ( ich duck mich schon mal, aber ein besseres fällt mir jetzt nicht ein.. )

Es gibt aus Sicht des Servers ( Traffic ) und aus Sicht des betrachtenden Users keinen spürbaren Unterschied zwischen dem Laden bereits im Cache des Browser liegender Daten und nachladen von Content-Inhalten ( Facebook ) und dem nachladen von HTML-Fragmenten in einem bereits dargestellten HTML-Grundgerüst ( dein Ansatz. )

Im Beispiel Facebook wird bei jedem Request der einen Seitenwechsel darstellt die komplette Webseite requested, gegen die Daten im Cache validiert und entsprechend nicht-vorhandener Änderungen der Cache dargestellt. Das ist kein Wunder der Technik, das ist eine Basisfunktion der heutigen Browser-Technologie. Jeder aktuelle Browser kann das, sogar schon seit einigen Versionen. Alle nicht-statischen Inhalte die in das Grundgerüst gehören werden dann per AJAX ( Javascript ) nachgeladen. Anwendbar ist die Methode bei Webseiten die zwar hochflexibel in der Darstellung von Content sein müssen, dessen Grundaufbau allerdings immer der selbe ist. Wie auch in deinem Fall.

Schematisch bedeutet das:
  • REQUEST & LOAD : ( cached ) Website Skelett ( 20-50 kbytes )
  • RUN AJAX: Navigation States ( 100-200 byte )
  • RUN AJAX: Site Content ( ∞ kbytes )

Der erste schritt passiert in der Regel pro "neuer Besucher" irgendwann mal einmalig, insofern sich das Skelett der Seite nicht ändert.

Dagegen Schematisch ein normaler Seitenaufbau:
  • REQUEST & LOAD : ( never cached ) Full Website ( ∞ kbytes )

Egal bei welchem Request würde ein Cache-Skelett dem Server also 20.000-50.000 Bytes an Traffic ersparen. Die Grundoptik würde also nur einmal geladen werden müssen ( Kern-Komponente dieser Methode ), was schlussendlich zu einem nicht "verschnellerbaren" Seitenaufbau führt.

Sicherlich könnte man jetzt mit dem Stichwort server-side Caching kommen und ich könnte auch noch mein "heiliges" Smarty mit in den Topf werfen. Server-side caching reduziert allerdings nur hinterrücks die Ladezeit, was da reduziert wird ist im Grunde die Generierungszeit für den kompletten HTML-Matsch der an den Browser gehen soll. Beides ( server-side & browser caching ) ist aber durchaus gut kombinierbar und effizient.

Es gibt im Bereich Caching aber einiges das du beachten musst, fang am besten an dich darüber zu informieren was Caching im genauen bedeutet und arbeite dich dann durch zu der genauen Funktionsweise von Browser-Caching und dessen Voraussetzungen ( Header & Co ).

Lesestoff: http://www.mnot.net/cache_docs/ ( englisch ) - außerdem siehe Wikipedia "Cache"

Eine (un)echte Alternative dazu wäre die Seite ansich und dessen grafische Gimmicks "schneller" zu machen. JPEGs & Co kann man durchaus mit einer Kompressionsstufe verwenden die aus einem 800kb Datei-Kollos eine 290kb Datei macht. Bilder können so granulativ fragmentiert werden das sie von mehreren "Servern" ( eigentlich ein und dem selben ) gleichzeitig vom Browser geladen werden ( auch dazu findet man relativ viel lesestoff per Google ). Boost-Möglichkeiten gibt es in 99% der Fälle immer. Ob notwendig sei vorerst dahingestellt.

Was du hier liest ist der Theoretische Lösungsansatz. Ich poste dir hier explizit keinen Code der obiges oder anderes realisiert. Den kriegst du selbst zu stande, wenn du dir darüber im klaren bist welche Logik hinter dem ganzen steckt.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] SimpleXML: Array enthalten, aber nur Zugriff auf erstes Element ??? Arne Drews PHP Einsteiger 18 31.01.2011 21:31
HTML-String auslesen bit4fox PHP Einsteiger 10 08.01.2011 16:33
Pixel addieren und Element somit neu positionieren schlägt fehl litterauspirna JavaScript, Ajax und mehr 9 29.10.2010 22:04
Content beim Hochladen eines Bildes im Array speichern! invidicult PHP Tipps 2010 6 04.10.2010 09:49
[Erledigt] Mit XPath im DOMDocument PHP5 und der foreach Schleife einen Element WERT hjw-kunstwerk PHP Tipps 2010 3 03.06.2010 00:07
Blätterfunktion / Menubar Content änderung Maxwill PHP Tipps 2010 2 27.04.2010 12:48
Auf ein einzelnes Element eine ausgewählten Datensatzes zugreifen fender PHP Tipps 2009 12 15.01.2010 16:18
Doppelten Content AllOnline PHP Tipps 2009 6 07.01.2010 20:01
Element erstellen, in Quelltext einfügen und auf dieses zugreifen können R4v3r JavaScript, Ajax und mehr 8 18.12.2009 11:33
Array Element vor und nach dem aktuellen Element ausgeben NetLook PHP Tipps 2006 2 09.05.2006 15:29
[JS/CSS] Element erst onclick sichtbar machn script.aculo.us StatischeEntladung HTML, Usability und Barrierefreiheit 1 06.04.2006 18:32
[Erledigt] Element mit Zeitschalter HTML, Usability und Barrierefreiheit 1 04.10.2005 11:44
padding streckt eltern element?! AliceD HTML, Usability und Barrierefreiheit 7 05.09.2005 14:03
[Erledigt] Sicherstellen von unkomprimiertem Content PHP-Fortgeschrittene 9 08.12.2004 12:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
webseitenaufruf verhindern, contentänderung einer html website, kompletten seitenaufbau verhindern

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum