Ankündigung

Einklappen
Keine Ankündigung bisher.

Header Content-Length richtig ermitteln

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Header Content-Length richtig ermitteln

    Hallo zusammen,
    ich komme gerade nicht weiter. Ich möchte gerne via php den header content-length für meine Website richtig ermitteln und ausgeben. Wie lese ich die content-length richtig aus? Nur den reinen Text im body, oder alle Zeichen, also mit html im body oder auf der gesamten Seite, also im _FILE_? Wie generiert Ihr diese header Zeile?
    Vielen Dank schon einmal!
    Gruß philosapiens
    Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
    Mein aktuelles Projekt bei idealseiten.de


  • #2
    PHP-Code:
    header('Content-Type: text/html; charset=utf-8');
    header('Content-Length: ' strlen($htmlOutput));
    echo 
    $htmlOutput

    Kommentar


    • #3
      Danke schön hellbringer!

      Und wie generierst Du $htmlOutput?
      Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
      Mein aktuelles Projekt bei idealseiten.de

      Kommentar


      • #4
        Zitat von philosapiens Beitrag anzeigen
        Und wie generierst Du $htmlOutput?
        Hängt vom Projekt ab. Viele Frameworks kommen mit einer Template-Engine. Oder auch nativer PHP-Code mit Output Buffering.

        Kommentar


        • #5
          Ich habe eine handgeschriebene Seite, die aus einigen php-Dateien eine html-Datei macht. (kpof.php, navi.php, index.php, fuss.php) Daher ja meine Überlegung, ob ich quasi "nur" die index.php auslese, also Alles was zwischen den body-Tags steht. Oder wäre es sinnvoller die Größe der Bilder mit einzubeziehen? Es ist eh eine eher statische Seite, wie eine Art Visitenkarte. Da könnte ich auch im Nachhinein die gesametn Daten über die url auslesen. Aber was ist mit Content-Length eigentlich wirklich gemeint? Dateigröße, oder Größe aller zu ladenden Dateien um die Seite anzuzeigen?
          Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
          Mein aktuelles Projekt bei idealseiten.de

          Kommentar


          • #6
            Zitat von philosapiens Beitrag anzeigen
            Ich habe eine handgeschriebene Seite, die aus einigen php-Dateien eine html-Datei macht. (kpof.php, navi.php, index.php, fuss.php) Daher ja meine Überlegung, ob ich quasi "nur" die index.php auslese, also Alles was zwischen den body-Tags steht. Oder wäre es sinnvoller die Größe der Bilder mit einzubeziehen? Es ist eh eine eher statische Seite, wie eine Art Visitenkarte. Da könnte ich auch im Nachhinein die gesametn Daten über die url auslesen. Aber was ist mit Content-Length eigentlich wirklich gemeint? Dateigröße, oder Größe aller zu ladenden Dateien um die Seite anzuzeigen?
            Content-Length gibt die Größe des HTTP-Bodys an. Das hat nichts mit PHP-Dateien oder Bildern zu tun.

            Kommentar


            • #7
              Guten Morgen,
              das heißt also, dass eigentlich der durch die php-Dateien generierte, komplette Text zwischen den body-Tags gemeint ist. Dann wäre also der sicherste Weg eine korrekte Länge zu ermitteln, wenn ich den erzeugten Quelltext messe und bei dem eben alles zwischen den body-Tags? Aber wie soll ich die fertig geparste html-Seite noch kurz vor der Auslieferung von meinem Server an das Web messen???

              Update:
              Habe gerade noch was im Netz gefunden: https://community.woltlab.com/thread...esteuerung-ob/
              Liest sich auch schlüssig, oder?

              Update2:
              Also wenn ich das richtig verstanden habe, dann müsste die korrekte Content-Length alles sein, was im Quelltext zwischen den body-Tags steht.

              Überprüfung:

              Diese Seite hier habe ich genommen, den Quelltext gezogen und alles vor und nach dem body-Tag gelöscht.
              Dann die Länge ausgelesen hiermit: http://string-functions.com/length.aspx ergibt eine Länge von 129856.

              Dann den Header dieser Seite auslesen: http://www.dnstools.ch/http-header.html ergibt: Content-Length: 387

              Heißt das jetzt, dass die Content-Length so ziemlich egal ist? Wenn die korrekte Länge anscheinend so schwer feststellbar ist und offensichtlich immer nur ein Annäherungswert darstellt, sollte man ihn dann überhaupt angeben?

              Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
              Mein aktuelles Projekt bei idealseiten.de

              Kommentar


              • #8
                Nicht der HTML Body, sondern der HTTP Body. Das ist alles was du per PHP ausgibst, Und ja, du kannst das mit dem Outputbuffer machen (ob_ Funktionen). Du kannst es aber auch lassen. Die Content-Length ist optional und muss nicht angegeben werden. Es bringt kein Mehrwert den bei HTML Seiten, CSS, JS oder ähnlichen anzugeben. Das macht hauptsächlich bei Downloads sinn, damit der Browser den Fortschritt anzeigen kann.

                Kommentar


                • #9
                  Hallo erc,
                  das macht Sinn. Für Downloads sehe ich auch einen Bedarf. Dann werde ich wohl in Zukunft auf diese sehr variierende Angabe verzichten. Vielen Dank für Deinen Hinweis!
                  Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
                  Mein aktuelles Projekt bei idealseiten.de

                  Kommentar


                  • #10
                    MOD: Verschoben von Hosting etc..
                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #11
                      Am Rande:
                      mit einem Trick Header Content-Length auch dafür benutzt werden, PHP-Ausgaben schon vor dem Skriptende an den Client zu senden um danach noch einige in der Regel zeitaufwendige Arbeiten zu erledigen.
                      PHP-Klassen auf github

                      Kommentar

                      Lädt...
                      X