Wie funktioniert eigentlich ein Internet-Browser???
moritz
- programmiertechnik
moin,
könnt ihr mir erklären wie ein Internet-Browser arbeitet?
Wie empfängt er den HTML-Quellcode und sendet Anfragen an einen Server?
Wie interpretiert er den HTML-Code, so dass er weiß was er mit den einzelnen Tags anfangen soll?
Hoffentlich könnt ihr mir ein bisschen weiterhelfen, würd mich mal brennend interessieren, wie ein Browser funktioniert.
Gruß,
moritz
hi
könnt ihr mir erklären wie ein Internet-Browser arbeitet?
nicht wircklich.Aber ich behaubte mal die meisten Browser laden
plugins beim start die dann diese seiten dementsprechend anzeigen.
Plugins sind teile eines fast jeden programms die benötigt werden,
damit das programm demensprechend arbeiten kann
(siehe z.B. http://wp.netscape.com/plugins/ )
Wie empfängt er den HTML-Quellcode und sendet Anfragen an einen Server?
weiss ich nicht genau...
Wie interpretiert er den HTML-Code, so dass er weiß was er mit den einzelnen Tags anfangen soll?
kommt auf die programmierung dess jeweiligen browser bzw. plugin an.
gruss vom Alain
Hallo,
ambitionierte Frage....
könnt ihr mir erklären wie ein Internet-Browser arbeitet?
Wie empfängt er den HTML-Quellcode und sendet Anfragen an einen Server?
Dazu gibt es das Protokoll HTTP, welches beschreibt, wie Hypertext übertragen wird. Im einfachsten Fall schickt der Browser dem Server ein Request-Paket, das in etwa so aussieht:
GET http://forum.de.selfhtml.org/ HTTP/1.1
(kannst du mit telnet ausprobieren)
Und der Server schickt dann die Antwort:
Content-type: text/html
<!DOCTYPE.....>
....
</HTML>
Wie interpretiert er den HTML-Code, so dass er weiß was er mit den einzelnen Tags anfangen soll?
Dazu gibt es einerseits die DOCTYPE, die definiert, welche Tags es gibt, welche Tags alleine stehen können (<BR> z.B.) und welche geschlossen werden müssen.
Grundsätzlich grast der die Rendering-Engine den Source ab, und baut einen referenzierten Baum daraus, sodass für jedes HTML Element bekannt ist, in welchem anderen Element es eingebunden ist und welche anderen Elemente in ihm selbst eingeschlossen sind.
Wenn der Baum fertig aufgebaut ist, wird dem BODY-Tag gesagt, er soll sich "zeichnen". Das kann er nur machen, indem er allen untergeordneten Tags sagt, die sollen sich zeichnen. Wenn da jetzt beispielsweise 2 <P>-Tags sind, sagt der BODY dem 1. P, er soll sich zeichnen kann ganz links oben beginnen. Der P-Tag malt den Text und weiss vom BODY, dass er die ganze Fensterbreite nutzen kann, bricht den Text dementsprechend um und wenn er fertig ist, sagt er dem BODY: Fertig, ich habe 600 Pixel breit und 70 Pixel hoch gebraucht.
Und der Body sagt dem 2. P: Mal dich, und beginne bei 70 Pixel von oben zu malen.
Yepp. So ungefähr funktioniert das.
Hoffentlich könnt ihr mir ein bisschen weiterhelfen, würd mich mal brennend interessieren, wie ein Browser funktioniert.
Ist auch wirklich interessant. Das ganze jedoch in allen Facetten zu verstehen, ist sehr komplex... sieh mal unter mozilla.org, wenn du ein bisserl C verstehst: Dort gibts alle Sourcen für den Mozilla-Browser, die Gecko-Engine (die steckt im neuen Netscape-Browser)!
Liebe Grüsse,
gerhardii
Hallo gerhardii,
ambitionierte Frage....
ACK. :-)
Dazu gibt es das Protokoll HTTP, welches beschreibt, wie Hypertext übertragen wird. Im einfachsten Fall schickt der Browser dem Server ein Request-Paket, das in etwa so aussieht:
GET http://forum.de.selfhtml.org/ HTTP/1.1
(kannst du mit telnet ausprobieren)
Ich würde eher sagen: (vom Schema her, alle Zeilen, die mit "> " anfangen, sind Zeilen, wo man etwas eingeben muss)
telnet forum.de.selfhtml.org 80
Verbunden
GET / HTTP/1.1
Host: forum.de.selfhtml.org
Die letzte Zeile muss eine Leerzeile sein.
Das ganze wird natürlich haarklein in der RFC 2616 beschrieben: http://www.ietf.org/rfc/rfc2616.txt
Yepp. So ungefähr funktioniert das.
Stimmt soweit, Du hast nur das wichtigste vergessen: Nachdem so extrem viele Leute invalide Seiten geschreiben, muss ein Browser auch eine geniale Fehlerkorrektur besitzen. Microsoft hat das mit dem IE auf die Spitze getrieben - dem seine Fehlerkorrektur grenzt schon fast an KI oder PSI-Wellen zum Auslesen der Gedanken im Gehirn des Autors. ;-)
Ist auch wirklich interessant. Das ganze jedoch in allen Facetten zu verstehen, ist sehr komplex... sieh mal unter mozilla.org, wenn du ein bisserl C verstehst: Dort gibts alle Sourcen für den Mozilla-Browser, die Gecko-Engine (die steckt im neuen Netscape-Browser)!
Ehem. *hüstel* Die Mozilla-Sourcen sind nicht gerade die leichteste Lektüre, auch wenn man C kann. Im Übrigen sind die in C++ und nicht in C, aber das macht noch das geringste aus.
Grüße,
Christian
Hallo,
Ich würde eher sagen: (vom Schema her, alle Zeilen, die mit "> " anfangen, sind Zeilen, wo man etwas eingeben muss)
Grrr, jetzt hab' ich doch Glatt vergessen, dass "> " mein Zitatzeichen ist, und die Vorschau hab' ich auch nicht verwendet.... Grmpf. Also nochmal mit "! " für alle Zeilen, bei denen man was eingeben muss:
! telnet forum.de.selfhtml.org 80
Verbunden
! GET / HTTP/1.1
! Host: forum.de.selfhtml.org
!
Grüße,
Christian