carsten schlichting: Vorgang des Hochladens von PHP programmierten Seiten

Hallo

habe eine Frage zum Hochladen von Seiten, die mit Hilfe von PHP scripten aufgebaut wurden.

Angenommen man hat relativ große gif-bilder --  merken sich die Browser, dass sie die bilder schon einmal hochgeladen haben, so dass die folgenden ähnlich aufgebauten Seiten nicht mehr vollständig hochgeladen werden müssen und so schneller aufgebaut werden können.

ich denke eigentlich schon, bin mir aber auch ein bißchen unsicher.

wenn man mit php einen container für eine diashow  erzeugen möchte, könnte man ja am ende der Seite ein div mit dem attribut "hidden" positionieren und dort die wohl am nächsten gebrauchten Bilder schon einmal hochladen oder?

viele grüße

carsten

  1. Hallo carsten.

    Angenommen man hat relativ große gif-bilder --  merken sich die Browser, dass sie die bilder schon einmal hochgeladen haben, so dass die folgenden ähnlich aufgebauten Seiten nicht mehr vollständig hochgeladen werden müssen und so schneller aufgebaut werden können.

    Bitte? Wer lädt Dateien mit einem Browser hoch?

    wenn man mit php einen container für eine diashow  erzeugen möchte, könnte man ja am ende der Seite ein div mit dem attribut "hidden" positionieren und dort die wohl am nächsten gebrauchten Bilder schon einmal hochladen oder?

    Das div-Element hat kein hidden-Attribut.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Bitte? Wer lädt Dateien mit einem Browser hoch?

      ich mein natürlich runter  ;-)

      Das div-Element hat kein hidden-Attribut.

      aber mit css schon- oder?

      wie macht man denn sonst sowas?

      carsten

      1. Hallo carsten.

        ich mein natürlich runter  ;-)

        Gut, dann ersetze ich einmal „hoch“ durch „runter“:

        Angenommen man hat relativ große gif-bilder --  merken sich die Browser, dass sie die bilder schon einmal runtergeladen haben, so dass die folgenden ähnlich aufgebauten Seiten nicht mehr vollständig runtergeladen werden müssen und so schneller aufgebaut werden können.

        Es ist abhängig von den Cache-Einstellungen des Browsers, die der User (nicht) getätigt hat

        aber mit css schon- oder?

        Es gibt zum Ausblenden von Elementen die beiden Eigenschaften display (none) und visibility (hidden). Bei beiden ist es jedoch vom verwendeten Browser abhängig, ob die so ausgeblendeten Objekte dennoch geladen werden.

        wie macht man denn sonst sowas?

        Es gibt im Web (und sicher auch hier im Archiv) genügend Verweise auf Image-Preload-Skripte in JavaScript.
        Eine andere Möglichkeit wirst du nicht haben, das Vorausladen aktiv zu beeinflussen.

        Einen schönen Mittwoch noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Hallo

          Es gibt zum Ausblenden von Elementen die beiden Eigenschaften display (none) und visibility (hidden). Bei beiden ist es jedoch vom verwendeten Browser abhängig, ob die so ausgeblendeten Objekte dennoch geladen werden.

          Geladen (zum Browser übertragen) werden sie schon, da das "Gestalten" der Seite mittels der CSS-Angaben erst im Browser geschieht. Allerdings kann es sein, dass das gewünschte <div> mitsamt den zu versteckenden Daten trotzdem angezeigt wird, da der Browser die oben genannten CSS-Angaben nicht versteht/kennt.

          Das sähe bestimmt sehr krude aus. ;-)

          Tschö, Auge

          --
          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
          (Victor Hugo)
          Veranstaltungsdatenbank Vdb 0.1
          1. Hallo Auge.

            Geladen (zum Browser übertragen) werden sie schon, da das "Gestalten" der Seite mittels der CSS-Angaben erst im Browser geschieht.

            Ersteres kann nicht hundertprozentig gesagt werden, zweiteres sollte aber zu erwarten sein.

            Allerdings kann es sein, dass das gewünschte <div> mitsamt den zu versteckenden Daten trotzdem angezeigt wird, da der Browser die oben genannten CSS-Angaben nicht versteht/kennt.

            Würde er sie nicht kennen, müsste er sie ignorieren.

            Das sähe bestimmt sehr krude aus. ;-)

            Was?

            Einen schönen Mittwoch noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
            Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Hallo Ashura,

              Das sähe bestimmt sehr krude aus. ;-)
              Was?

              Mach dir nichts draus - ich kenne das Wort auch nur aus dem Englischen und habe es noch nie in einem deutschen Kontext gelesen.
              Aber LEO weiß Bescheid.

              Also hier wahrscheinlich im Sinne von "primitiv" oder "unausgereift".
              So long,

              Martin

              1. Hallo Martin.

                Das sähe bestimmt sehr krude aus. ;-)
                Was?

                Mach dir nichts draus - ich kenne das Wort auch nur aus dem Englischen und habe es noch nie in einem deutschen Kontext gelesen.
                Aber LEO weiß Bescheid.

                Also hier wahrscheinlich im Sinne von "primitiv" oder "unausgereift".

                *g* Das Wort war mir mehr oder weniger schon bekannt.

                Ich wollte wirklich im Sinne von „Was?“ wissen, _was_ krude aussehen würde.

                Einen schönen Mittwoch noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
                1. Hallo

                  Das sähe bestimmt sehr krude aus. ;-)
                  Was?

                  Mach dir nichts draus - ich kenne das Wort auch nur aus dem Englischen und habe es noch nie in einem deutschen Kontext gelesen.
                  Aber LEO weiß Bescheid.

                  Also hier wahrscheinlich im Sinne von "primitiv" oder "unausgereift".

                  Nee, eher "völlig unpassend". Wie jemand mit einem kunterbunten 70-er-Jahre Anzug auf einer Beerdigung.

                  *g* Das Wort war mir mehr oder weniger schon bekannt.

                  Ich wollte wirklich im Sinne von „Was?“ wissen, _was_ krude aussehen würde.

                  Ich ging von der sinnfreien Speicherung von (Text)daten _zu_ den Bildern innerhalb des <div>s aus, nicht von den vorgeladenen Bildern ansich.

                  Nähere Details dazu siehe hier. ;-)

                  Tschö, Auge

                  --
                  Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                  (Victor Hugo)
                  Veranstaltungsdatenbank Vdb 0.1
            2. Hallo

              Ich hatte die Fragestellung falsch verstanden, und bin deshalb von falschen Voraussetzungen ausgegangen. Hat sich also erledigt.

              Ich mache lieber Feierabend und bereite die Freitagszehnstundenfahrt an die Nordsee vor. Das ist offensichtlich entspannender. :-)

              Tschö, Auge

              --
              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
              (Victor Hugo)
              Veranstaltungsdatenbank Vdb 0.1
          2. hi,

            Bei beiden ist es jedoch vom verwendeten Browser abhängig, ob die so ausgeblendeten Objekte dennoch geladen werden.

            Geladen (zum Browser übertragen) werden sie schon, da das "Gestalten" der Seite mittels der CSS-Angaben erst im Browser geschieht.

            eben. und während der das CSS analysiert, kann er doch gut erkennen, dass das element gar nicht sichtbar sein soll, und deshalb auf das laden des hintergrundbildes verzichten.

            das hintergrundbild eines ein 1*1px großen elementes muss ein browser aber laden, und bei per absoluter positionierung außerhalb des anzeigebereiches platziertem element wird er's vermutlich ebenfalls tun.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. das hintergrundbild eines ein 1*1px großen elementes muss ein browser aber laden, und bei per absoluter positionierung außerhalb des anzeigebereiches platziertem element wird er's vermutlich ebenfalls tun.

              das hört sich gut an

              Dankeschön

              carsten

          3. Hi

            Geladen (zum Browser übertragen) werden sie schon, da das "Gestalten" der Seite mittels der CSS-Angaben erst im Browser geschieht. Allerdings kann es sein, dass das gewünschte <div> mitsamt den zu versteckenden Daten trotzdem angezeigt wird, da der Browser die oben genannten CSS-Angaben nicht versteht/kennt.

            Das sähe bestimmt sehr krude aus. ;-)

            aber man könnte doch jetzt für den Notfall das Div ganz weit nach unten auf der seite positionieren.

            dann würde man es nicht sehen können.Mit ner überschrift für den notfall: Preloadbilder

            Kann man denn eventuell andere HTML elemente verstecken-
            Tabellen z. B. Gibt es nichtversteckte Formularfelder?

            Grüße Carsten

            1. Hallo

              Geladen (zum Browser übertragen) werden sie schon, da das "Gestalten" der Seite mittels der CSS-Angaben erst im Browser geschieht. Allerdings kann es sein, dass das gewünschte <div> mitsamt den zu versteckenden Daten trotzdem angezeigt wird, da der Browser die oben genannten CSS-Angaben nicht versteht/kennt.

              aber man könnte doch jetzt für den Notfall das Div ganz weit nach unten auf der seite positionieren.

              dann würde man es nicht sehen können.Mit ner überschrift für den notfall: Preloadbilder

              Wie wahsaga schon schrieb. :-)

              Tschö, Auge

              --
              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
              (Victor Hugo)
              Veranstaltungsdatenbank Vdb 0.1
        2. Hello,

          Es ist abhängig von den Cache-Einstellungen des Browsers, die der User (nicht) getätigt hat

          ... und auch vom Server. Wenn dessen Handler nämlich nicht auf "Last Modified: " reagiert, dann nützt es dem Browser gar nichts, wenn er diese Information sendet.

          Zur Vorgehensweise:
          Browser bekommt ein Primary Ressource Document, also eine HTML-Seite.
          In dieser stehen Secondary Ressource Locators drin, also Bilder.
          Browser guckt ggf. nun in seinem Cache nach, ob er das Bild schon hat, und wenn er so eingestellt ist, sendet er nun einen Request und schickt die Information, wie alt das Bild ist, mit an den Server.

          Dieser _kann_ nun darauf reagieren, indem er den Request-Header auswertet und nachschaut, ob sein Bild neuer ist. Wenn nicht, sollte er einen Statuscode "304: Not Modified" senden.
          http://de.selfhtml.org/servercgi/server/httpstatuscodes.htm

          Der Browser weiß dann, dass er das Bild aus dem Cache benutzen 'darf'.

          Der Apache-Webserver macht sowas beim normalen Bildzugriff automatisch. Wenn man nun aber PHP-Scripte schreibt, die die Bilder ausliefern, also zb:

          <img src="getpicture.php?id=7955">

          dann sollte dieses Scripte ben den beschriebenen Mechanismus beherzigen.
          Anderenfalls arbeitet sich das PHP-Runtime einen Wolf, obwohl es wahrscheinlich nicht notwendig wäre.

          Harzliche Grüße vom Berg
          esst mehr http://www.harte-harzer.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau