Например, средствами обычного html (являющегося просто языком разметки текста) невозможно сделать веб-страницу, на которой отображались бы текущие время и дата (а не раз и навсегда вписанные автором).
Значительную часть функций современных веб-сайтов невозможно реализовать без использования скриптов.
Для реализации скриптов служат специальные скриптовые языки.
Скрипты делятся на:
- исполняемые на стороне сервера - то есть программы, которые выполняются до того, как веб-страница будет загружена на компьютер Пользователя. К таким скриптам относятся, например, скрипты интернет-форума:
- пользователь переходит на страницу интересующей его дискуссии на форуме;
- «желание» пользователя просмотреть дискуссию передается скрипту на сервере;
- скрипт извлекает из находящейся на сервере базы данных нужные сообщения, «вставляет» их в нужный шаблон
- и уже в виде готовой веб-страницы передает на компьютер пользователя.
Важное преимущество серверных скриптов: покольку они выполняются на сервере, то не загруржают компьютер пользователя и не зависят от его быстродействия, а также от особенностей установленного на нем ПО, в частности браузера (см. «кроссбраузерность»).
Основной недостаток – поскольку для выполнения скрипта необходимо обращение к серверу (переход на другую страницу, перезагрузка), то такой скрипт выполняется «не мгновенно». Кроме того, при большом количестве пользователей, просматривающих один и тот же сайт (например, несколько сотен или тысяч!), много одновеременно запущенных на сервере скриптов могут привести к его перегрузке, и как следствие к замедлению загрузки страниц сайта.
- исполняемые на стороне Клиента (Пользователя) - то есть программы, которые выполняются прямо в браузере пользователя, без обращения к серверу. К таким скриптам относятся, например, скрипт выпадающего меню на сайте (реализующий собственно «выпадание» разделов меню); скрипт всплывающего окна (запускается, когда пользователь кликает по соответствующей ссылке) и т.д.
Преимущества скриптов, исполяемых на стороне Клиента – скрипты исполняются быстро, нет необходимости обращаться к серверу. Однако возникает проблема «кросс-браузерности»: скрипт, написанный для определенного браузера, может некорректно исполняться, либо вообще не исполняться в другом браузере. Кроме того, ряд функций принципиально не может быть выполнен без обращения к серверу (например, функции, связанные с запросами к базам данных).
При желании, Пользователь может отключать выполнение таких скриптов в настройках своего браузера. Это может быть сделано из соображений безопасности. Выполнение серверных скриптов таким способом, естественно, отключить нельзя.
В настоящее время распространение получила технология AJAX (Asynchronous JavaScript and XML), объединяющая возможности серверных и клиентских скриптов. Принцип AJAX в том, что что при необходимости обратиться к данным с сервера веб-страница не перезагружается целиком, в нее «дозагружаются» с сервера только необходимые данные.