Web preglednik je program kroz koji se pregledavaju internetske stranice. Opća je arhitektura svih popularnih preglednika slična: sastoji se od nekoliko međusobno neovisnih komponenata koje se naknadno kombiniraju kroz posebna sučelja.
Upute
Korak 1
Prvo dolaze mrežne postavke: JavaScript, XML parser i Display Backend (rukovanje događajima na zaslonu). To su 4 neovisna modula koji djeluju u okviru grafičkog mehanizma. Zatim se programira mehanizam visoke razine koji je, poput korisničkog sučelja, sposoban pohraniti određene podatke. Postoje i dodatne komponente (dodaci, multimedija, modul pošte, pomoć, alati za programere itd.), Ali oni ne utječu toliko na strukturu preglednika.
Korak 2
Svaka komponenta arhitekture je na određenoj razini i može komunicirati samo s najbližim elementom. Stoga se arhitektura preglednika naziva slojevita.
3. korak
Korisničko sučelje je vrsta međuspremnika koji postoji između motora i korisnika. On je taj koji prihvaća sve želje korisnika, pruža mu sve mogućnosti i obrađuje sve njegove postupke. Sučelje pomaže u pružanju standardnog skupa funkcija. Stroj visoke razine odgovoran je za obradu stranice, odnosno za prikaz cijelog grafičkog dijela. Također počinje učitavati stranicu, osvježava ih, skače naprijed ili naprijed, radi s oznakama, poviješću i postavkama koje utječu na grafiku.
4. korak
Isti grafički mehanizam glavni je dio svakog preglednika. Prikazuje sadržaj resursa i raščlanjuje HTML i XML, uzimajući u obzir utjecaj CSS-a i JS-a, kao i drugih objekata (slike, flash). Na temelju svih podataka koje prikuplja motor generira se izgled koji korisnik vidi na monitoru.
Korak 5
Mreža komponenata, JS, XML parser su specijalizirani dijelovi programa koji rade na odgovarajućim parametrima. Display Backend povezan je s OS-om i pruža izlaz najprimitivnijih grafika (pomične trake, obrasci, ukrašavanje prozora itd.), Što ovisi o operativnom sustavu.
Korak 6
Zahvaljujući sustavu komponenata, preglednik može lako promijeniti dizajn, lakše je lokalizirati programske pogreške, svaka komponenta poboljšana je zasebno i ne utječe na program u cjelini, svaka komponenta može se koristiti zasebno.