MicDec: Google: warum kein End-Tag html und Body?

Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

Hat jemand eine Antwort?

  1. Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

    Hat jemand eine Antwort?

    Meist liegt es an schludrig arbeitenden Php-Programmierern, die es mit den DTDs und dem HTML nicht so genau nehmen, bzw sich nicht gründlich mit HTML auseinandergesetzt haben und auch keine Lust dazu haben. Wie Herr Bittersmann einmal richtig bemerkt hat: Viele kennen gerade mal den DIV-Tag ...
    Gruß Onkel

    1. Meist liegt es an schludrig arbeitenden Php-Programmierern, die es mit den DTDs und dem HTML nicht so genau nehmen, bzw sich nicht gründlich mit HTML auseinandergesetzt haben und auch keine Lust dazu haben. Wie Herr Bittersmann einmal richtig bemerkt hat: Viele kennen gerade mal den DIV-Tag ...
      Gruß Onkel

      Gerade DAS glaube ich nicht. Außerdem hat Google mit PHP nix zu tun. Aber trotzdem danke. MicDec

      1. Hello,

        Gerade DAS glaube ich nicht.

        Außerdem hat Google mit PHP nix zu tun. Aber trotzdem danke. MicDec

        Wie kommst Du darauf? Ein Freund hat seinerseits Freunde im Google-Entwicklerteam und bekommt alle nase lang nette[tm] PHP-Scripts u.s.w. von denen. Die setzen PHP ein für diverse Zwecke. Allerdings haben sie wohl eine ziemlich heterogene Landschaft von Hard- und Software im Einsatz.

        Sich bloß nicht abhängig machen von einer Technik oder Patentlage. Das ist wohl auch der Grund dafür, dass sie gegen M$ bisher immer bestanden haben, wenn auch manchmal nur haarscharf.

        Ich persönlich denke, wenn man Paranoiker sucht, muss man nur zu Google gehen.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
    2. echo $begrüßung;

      Meist liegt es an schludrig arbeitenden Php-Programmierern, die es mit den DTDs und dem HTML nicht so genau nehmen, bzw sich nicht gründlich mit HTML auseinandergesetzt haben und auch keine Lust dazu haben.

      Du solltest dich gründlich mit HTML auseinandersetzen und dich über die Optionalität diverser Endtags bei der Transitional-DTD informieren.

      echo "$verabschiedung $name";

      1. echo $begrüßung;

        Soll das nun heißen, daß du von PHP Ahnung hast ?

        Du solltest dich gründlich mit HTML auseinandersetzen und dich über die Optionalität diverser Endtags bei der Transitional-DTD informieren.
        echo "$verabschiedung $name";

        Optionalität und Fehlertoleranz sind zwei Paar Schuhe.
        Daß eine Transitional-DTD auch mit fehlerhaftem HTML klarkommt hat eben auch dazu geführt, daß es viele mit dem Code nicht mehr so genau nehmen.
        siehe HTML 4.01 strict
        Gruß Onkel

        1. Hi,

          echo $begrüßung;

          Soll das nun heißen, daß du von PHP Ahnung hast ?

          Das heisst wohl, dass du von dedlfix üblicher Begrüssungsformel keine Ahnung hast.

          Optionalität und Fehlertoleranz sind zwei Paar Schuhe.

          Die du wohl noch zuzubinden lernen musst ...

          Daß eine Transitional-DTD auch mit fehlerhaftem HTML klarkommt hat eben auch dazu geführt, daß es viele mit dem Code nicht mehr so genau nehmen.

          Transitional "kommt" mit fehlerhaftem HTML nicht anders oder besser "klar", als Strict.
          Beide definieren, was gültiges HTML in der jeweiligen Variante sein soll, und das - gültig - ist es dann entweder, oder nicht.

          Und ob jemand es "nicht so genau nimmt" mit der Einhaltung von Regeln einer DTD, hat nichts damit zu tun, welche dieses im Einzelfalle ist.

          siehe HTML 4.01 strict

          Siehe Dieter Nuhr.

          MfG ChrisB

          --
          Light travels faster than sound - that's why most people appear bright until you hear them speak.
          1. Hello,

            [...] warum schon wieder so persönlich und hässlich?

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
          2. Siehe Dieter Nuhr.

            :-)
            Mit seinem Programm "Wer's glaubt wird selig" rennst du bei mir offene Türen ein !
            Gruß Wastl

        2. 你好 Onkel,

          Optionalität und Fehlertoleranz sind zwei Paar Schuhe.
          Daß eine Transitional-DTD auch mit fehlerhaftem HTML klarkommt hat eben auch dazu geführt, daß es viele mit dem Code nicht mehr so genau nehmen.
          siehe HTML 4.01 strict

          Wie ich schon schrub: End-Tags wegzulassen ist nicht zwingend ein Fehler und hat auch nichts mit Fehler-Toleranz zu tun.

          Ich glaube, ich benutze dieses Feature bei der nächsten Seite, die ich erstellen muss, exzessiv. Einfach nur aus Prinzip.

          再见,
           克里斯蒂安

          --
          http://wwwtech.de/
          <h1>Software error:</h1>
          <pre>DB failure: Access denied for user 'ckruse_wayne'@'localhost' (using password: YES)
          </pre>
          <p>
          For help, please send mail to the webmaster (<a href="mailto:ck1@wwwtech.de">ck1@wwwtech.de</a>), giving this error message
          and the time and date of the error.
          </p>
          1. echo $begrüßung;

            Ich glaube, ich benutze dieses Feature [optionale Endtags] bei der nächsten Seite, die ich erstellen muss, exzessiv. Einfach nur aus Prinzip.

            Teste dann aber gründlich in allen (relevanten) Browsern. Damals™, als noch der 4er Netscape aktuell war, probierte ich das auf diese Weise und stellt fest, dass der speziell bei Tabellen mit optionalen (tr/td-)Endtags nicht richtig zurecht kam. Das mag mit den heutzutage üblichen Browsern nicht mehr der Fall sein ...

            echo "$verabschiedung $name";

          2. Hello,

            Ich glaube, ich benutze dieses Feature bei der nächsten Seite, die ich erstellen muss, exzessiv. Einfach nur aus Prinzip.

            Aber dann bitte auf chinesisch. Vielleicht passen die Seiten dann durch die Filter  ;-))

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
          3. @@Christian Kruse:

            nuqneH

            Ich glaube, ich benutze dieses Feature bei der nächsten Seite, die ich erstellen muss, exzessiv. Einfach nur aus Prinzip.

            Meiert lässt grüßen und was ich davon halte.

            Qapla'

            --
            Bildung lässt sich nicht downloaden. (Günther Jauch)
            1. Yerf!

              » Ich glaube, ich benutze dieses Feature bei der nächsten Seite, die ich erstellen muss, exzessiv. Einfach nur aus Prinzip.

              Meiert lässt grüßen und was ich davon halte.

              Und was mir in einem Firefox 2 passiert ist.

              Gruß,

              Harlequin

              --
              <!--[if lt IE 8]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
      2. Du solltest dich gründlich mit HTML auseinandersetzen und dich über die Optionalität diverser Endtags bei der Transitional-DTD informieren.

        Das hat mit Transitional nichts zu tun:

        HTML 4.01 Strict:
        <!ELEMENT HTML O O (%html.content;)    -- document root element -->
        <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
        <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
        <title>Dieses Dokument</title>
        <p>ist durchaus ein valides HTML-Dokument,
        <p>wie Christian schon gezeigt hatte.

        Mathias

        1. echo $begrüßung;

          » Du solltest dich gründlich mit HTML auseinandersetzen und dich über die Optionalität diverser Endtags bei der Transitional-DTD informieren.
          Das hat mit Transitional nichts zu tun:

          HTML 4.01 Strict:
          <!ELEMENT HTML O O (%html.content;)    -- document root element -->
          <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
          <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->

          Oh, danke für die Korrektur. Obwohl mir die DTD nicht fremd ist, fiel mir nie auf, dass auch die Strict-Version von 4.01 die schließenden Tags teilweise nicht vorschreibt. Ich nehme an, diesbezüglich gibt es dann also keinen Unterschied zwischen Strict und Transitional. Dieser beschränkt sich dann wohl auf die "deprecated"-Elemente.

          Schließende beziehungsweise geschlossene Tags sind also nur bei XHTML erforderlich, bei HTML 4.01 nicht immer.

          echo "$verabschiedung $name";

          1. Ich nehme an, diesbezüglich gibt es dann also keinen Unterschied zwischen Strict und Transitional.

            Soweit ich das sehe: ja.

            Um es zusammenzufassen:

            Elemente in HTML 4, bei denen Start- und End-Tag optional sind:
            html, head, body, tbody

            End-Tag optional:
            p, dt, dd, li, option, thead, tfoot, colgroup, tr, th, td

            Leere Elemente (kein End-Tag erlaubt - wird in XHTML mit dem Tag für leere Elemente notiert):
            base, meta, br, area, link, img, param, hr, input, col

            Mathias

  2. Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

    Google verzichtet auf alles, was irgendwie geht.
    Und was da überhaupt regulär ist, ist bestenfalls Mutmassung:
    <!doctype html>

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Hi Beat,

      »» Warum ist auf der Google-Seite (www.google.com) kein End-Tag [...]

      Google verzichtet auf alles, was irgendwie geht.

      Ah, verstehe.

      ;-)

      Viele Gruesse,
      der Bademeister

  3. 你好 MicDec,

    Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

    Es ist nicht zwingend ein Fehler, HTML-Tags wegzulassen. Das hier ist z. B. ein völlig valides HTML-Dokument:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
    <head>  
       <title>I am a fish</title>  
      
    <p>Blah
    

    Du kannst es gern überprüfen: http://validator.w3.org/?#validate_by_input

    Erst bei XHTML wäre das verboten. HTML ist eine reine SGML-Anwendung, damit sind auch alle „Features“ von SGML erlaubt. XHTML ist eine XML-Anwendung, da ist das strikter geregelt.

    Warum Google Tags weglässt und die & nicht maskiert? Sie wollen chronisch Bytes sparen.

    再见,
     克里斯蒂安

    1. Erst bei XHTML wäre das verboten. HTML ist eine reine SGML-Anwendung, damit sind auch alle „Features“ von SGML erlaubt.

      Dass die Tags von html und body optional sind, ist in der DTD festgelegt. (Ja, optionale Tags gibts bei XML prinzipiell nicht.) D.h. man könnte sie natürlich auch zwingend erforderlich machen.

      In HTML sind nicht alle Features von SGML erlaubt, sondern nur die, die in der SGML-Deklaration für HTML »angeschaltet« sind. D.h. man kann diese ändern, wenn man sich selbst strengere HTML-Regeln auferlegen will.

      Mathias

      1. 你好 molily,

        Erst bei XHTML wäre das verboten. HTML ist eine reine SGML-Anwendung, damit sind auch alle „Features“ von SGML erlaubt.

        Dass die Tags von html und body optional sind, ist in der DTD festgelegt. (Ja, optionale Tags gibts bei XML prinzipiell nicht.) D.h. man könnte sie natürlich auch zwingend erforderlich machen.

        In HTML sind nicht alle Features von SGML erlaubt, sondern nur die, die in der SGML-Deklaration für HTML »angeschaltet« sind. D.h. man kann diese ändern, wenn man sich selbst strengere HTML-Regeln auferlegen will.

        Und inwiefern widerspricht sich das mit meinen Ausführungen? Oder war das als Ergänzung gedacht? :)

        再见,
         克里斯蒂安

        1. Und inwiefern widerspricht sich das mit meinen Ausführungen? Oder war das als Ergänzung gedacht? :)

          Ja. Deine Formulierung könnte den Anschein erwecken, das alles resultiere bloß aus der Tatsache, dass es SGML ist. Vielmehr resultiert es aus einer spezifischen Konfiguration in SGML-Deklaration und DTD. Dass man die auch ändern kann, darauf wollte ich hinweisen.

          Mathias

  4. Hallo,

    Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

    Kann ich überhaupt nicht nachvollziehen. Wenn ich mir den Quelltext von der Startseite angucke( Firebug ), dann sehe ich öffnende unf schliessende HTML und BODY-Tags.

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
    Go to this
    1. 你好 minicrispie,

      Kann ich überhaupt nicht nachvollziehen. Wenn ich mir den Quelltext von der Startseite angucke( Firebug ), dann sehe ich öffnende unf schliessende HTML und BODY-Tags.

      Dann schau dir den Sourcecode in einem Tool an, dass ihn nicht aus dem Parsebaum vom Mozilla(/Firefox) generiert…

      再见,
       克里斯蒂安

    2. Kann ich überhaupt nicht nachvollziehen. Wenn ich mir den Quelltext von der Startseite angucke( Firebug ), dann sehe ich öffnende unf schliessende HTML und BODY-Tags.

      MfG. Christoph Ludwig

      Interessant: ich sehe weder End-body noch end-html. Die Seite endet mit einem end-script (sowohl in ie als auch Mozilla)
      Ich sehe übrigens auch keine Deklaration.

      Danke MicDec

  5. Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body?

    Sorry für die Aufregung!
    Google liefert tatsächlich beim Aufruf des URL eine Startseite ohne Endtags für die Elemente HTML und BODY.
    Dann gibt man etwas ein. Zurück kommt dann eine Seite mit den Ergebnissen UND
    mit den Endtags HTML und BODY. Zusätzlich kommt eine (kurze) Deklaration hinzu.

    Fazit (?): Wenn man Google aufruft, startet man ein Programm, dessen Interface durch eine HTML-Syntax dargestellt wird. Zurück kriegt man einen HTML-Dokument. Ist es richtig?

    Danke

  6. Hello,

    Warum ist auf der Google-Seite (www.google.com) kein End-Tag für die Elemente html und body? Ein Fehler, ein Versehen oder steckt etwas mit den JavaScripten darunter?

    Du hast Recht.

    Die Google Startseite hat kein abschließendes </body></html> in ihrem statischen HTML.
    Erst, wenn Du dir die generierte Soucre anschaust, tauchen da diese beiden schließenden Elementbegrenzer auf.

    Und bevor hier wieder jemand schriet, das liege an Mozilla o.ä.: Ich habe die Seite auf einem Linux-System stumpf heruntergeladen mit wget (das wird ja hoffentlich nicht den gleichen vermeintlichen Fehler haben) und dann mit vim angeschaut.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Die Google Startseite hat kein abschließendes </body></html> in ihrem statischen HTML.
      Erst, wenn Du dir die generierte Soucre anschaust, tauchen da diese beiden schließenden Elementbegrenzer auf.

      Wie bitte? Was ist denn der unterschied zwischen statischem HTML und generiertem Source?

      Fehlen dir vielleicht die Begriffe? Quellcode ist Quellcode, da ist kein </html>. Wenn der UA allerdings das DOM wieder serialisiert, in das er den Quellcode geparst hat, gibts natürlich End-Tags.

      Und bevor hier wieder jemand schriet, das liege an Mozilla o.ä.

      Dein Posting trägt eher zur Verwirrung bei.

      Mathias

      1. Hello,

        Die Google Startseite hat kein abschließendes </body></html> in ihrem statischen HTML.
        Erst, wenn Du dir die generierte Soucre anschaust, tauchen da diese beiden schließenden Elementbegrenzer auf.

        Wie bitte? Was ist denn der unterschied zwischen statischem HTML und generiertem Source?

        Fehlen dir vielleicht die Begriffe? Quellcode ist Quellcode, da ist kein </html>. Wenn der UA allerdings das DOM wieder serialisiert, in das er den Quellcode geparst hat, gibts natürlich End-Tags.

        Und bevor hier wieder jemand schriet, das liege an Mozilla o.ä.

        Dein Posting trägt eher zur Verwirrung bei.

        Könnte es sein, dass DU jetzt nur verwirrt bist, weil Du nicht überlegt hast?
        Ich habe hier gerade ein Excerpt von Dir über "JavaScript: Einbindung in HTML und Ergebnisverarbeitug" auf dem Tisch liegen. Das schmeiß ich dann wohl doch besser in die Tonne?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Was willst du mir sagen?

          Mathias