Браузер – окно в мир Интернета, поэтому знать о том, как он работает, никому не помешает. Тем более, что примитивные версии браузеров встроены прямо в современные средства разработки. Программисты-«идеалисты» же мечтают создать «свой» FireFox, Safari или, на худой конец, Internet Explorer.
Можно долго думать, чем же все-таки набиты наши браузеры, раз они занимают столько места в памяти и способны замедлить самый мощный компьютер. Фактически же, браузер – всего лишь окно или набор окон. Программа, работая посредством протоколов TCP/IP через WinSocket’ы, отсылает команды серверу либо принимает данные. Причем данные приходят в виде стандартного файла HTML. Вот ее-то, эту страничку, браузер и старается представить как можно адекватнее на экране. Получается это не всегда даже для самых простых форм, что видно в различии представлений, к примеру, Opera и FireFox.
Конечно же, даже при этом не все так просто. Пользователю доступны для общения с Сетью следующие виды связи: набрать адрес ресурса в адресной строке, заполнить поля формы или кликнуть по ссылке. Браузер отправляет эти данные в виде текстовых GET или POST-запросов к серверу. На сервере программа или скрипт обрабатывают поля запроса, формируют готовую страницу и отсылают ее назад. Страница может пересылаться целиком, но новая технология AJAX, к примеру, позволяет менять лишь часть экранных данных. Это очень неплохое решение для «тяжелых» сайтов: магазинов, справочников, информационных порталов.
Кроме «почтальонной работы», браузер должен уметь и кое-что другое. Сразу вспомним про защиту от вредоносного кода. Браузер никогда не будет ценим, если не будет поддерживать пользовательские расширения или дополнения. Как говорится, на каждого угодить нельзя, а подстраиваться под всех не получится. Тут у того же FireFox есть бесспорное преимущество – тысячи дополнений, среди который особо выделяется NoScript, не имеющий нормальных аналогов. В браузере есть и собственные средства программирования; правда, добраться до них не так просто, но победитель действительно получает полное управление над программой.
А простым клиентам программирование не нужно, зато им нужно иметь дополнения, способные проигрывать сетевую музыку, скачивать графику и фильмы по “спрятанным” ссылкам, воспроизводить флеш-анимацию. Учитывая все это, становится немного понятнее, что браузер – не такая уж простая штука.
В дополнении хотелось бы заметить, что существуют довольно интересные виды браузеров: браузеры под управлением MS-DOS, текстовые браузеры вроде Lynx и другие, еще более специфические.