Как работят браузърите

guide

Повечето хора ползват уеб браузъра подобно на това както ползват автомобилите си. Тоест те просто завъртат ключа да запали и тръгват. За “обикновения” уеб потребител няма нищо грешно в това. За уеб дизайнерите и разработчиците обаче, това да знаят какво се случва отвътре на техните браузъри е много важно. Първото и най-съществено нещо, с което трябва да сме наясно е:

Всички браузъри са направени по различен начин

Това е от значение за нас понеже тези разлики водят след себе си други разлики, които се виждат – не става въпрос за неща които само ние си знаем и хората които са разработили “модулите” на браузърите. Говорим за крайния потребител на сайтовете ни – човека който стои зад браузъра и пуска заявките.

Браузърите ползват протокола HTTP

за комуникация с уеб сървърите и за получаване на заявеното съдържание. Когато потребителя кликне върху някой линк по уеб страницата или въведе някакъв адрес в адресната лента, браузъра изпраща заявка за да може да достъпи желаните от клиента ресурси. Сървъра в отговор връща заявените ресурси към браузъра. Веднъж когато това стигне до браузъра – обикновено е HTML документ – браузъра използва вградената в него машина за рендериране на такива ресурси. Извършва

Процеса рендериране

с помощта на който съдържанието на документа се изобразява на екрана по точно определен начин. Прилежащите “активи” – файлове от друг тип – като изабражения, аудио или видео файлове и други се заявяват отделно и съответно се рендерират отделно в зависимост от това браузъра какви файлови формати поддържа или ако са такива, които никой браузър не поддържа/например флаш/ дали има инсталирана допълнителна приставка с помощта на която могат да се рендерират.

Скриптовете

се рендерират от друга машина. Тези скриптове, които се изпълняват при клиента са JavaScript скриптовете. Понеже тази рендерираща машина е отделна от тази за HTML документа тя се включва само при нужда. Може да има скриптове, които са пристигнали при клиента след заявка и да не се изпълняват до момента в който не биват извикани в изпълнение.

Потребителския интерфейс

при браузърите се състои от два основи елемента – адресната лента и прозороце в който се зареждат страниците. Всички си имат разни допълнителни – отметкити/bookmarks/, бутони за връщане кам предишната страница и за отиване напред ако сме се връщали, за презареждане и други. Всички тези работят с вътрешната машина на браузъра, която ги управлява и отговаря за комуникацията помежду им.

След пристигането на уеб страницата и прилежащите и ресурси при клиента се състои рендерирането на въпросните ресурси и изпълнението на скриптовете от интерпретатора на скриптове. След този момент следва взаимодействие между потребителя и всички останали машини в браузъра. Например скролирането на страницата е  едно такова взаимодействие за което отговаря отделен компонент на браузъра. Друг пример е запаметяването на някакви данни било то “бисквитки” или друго – за тях отговаря друг компонент. За самата заявка има мрежови компонент. Всичко това ще го разгледаме подробно на друго място.