Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_2_2012.docx
Скачиваний:
64
Добавлен:
17.04.2015
Размер:
690.6 Кб
Скачать

2.1.4.2. Особенности работы с передаваемыми параметрами

Рассмотрим особенности CGI и PHP. Очевидно, что реализация серьезных динамических Web-документов в этих технологиях неосуществима без передачи исходной информации от клиента на сервер. При изложении CGI были рассмотрены способы, которыми на сервер могут быть переданы данные. Было сказано, что задача написания функций, реализующих тот или иной алгоритм раскодирования информации и интерпретации строки параметров возлагается на программиста. На каком бы языке сценарий написан бы ни был, если этот язык не имеет соответствующих функций, то программисту придется заботиться и о решении этой совсем не простой задачи. В этом смысле выгодно отличается PHP, который был специально разработан для работы с Web-документами. Если PHP-сценарию была передана строка параметров – вне зависимости от использовавшегося для этого метода – все эти параметры становятся автоматически доступны в сценарии. Иными словами, если серверу была передана строка value1=aaa&value2=%8E%8F%90, то в сценарии на момент выполнения программы эти данные будут в распоряжении программиста в виде массива. Никаких перекодирований и никаких интерпретаций строк параметров выполнять не потребуется.

В DHTML обращение к значениям данных возможно через объектное представление документа.

2.1.4.3. Быстродействие получаемых сценариев

Теперь попробуем качественно оценить быстродействие средств рассматриваемых технологий программирования. Учитывая то, что для написания CGI-сценариев может применяться любой язык программирования, в том числе и компилируемые – C, Pascal, именно в этой технологии потенциально может быть достигнута наивысшая скорость обработки информации и генерации Web-документов. Однако следует учесть, что при каждом обращении к CGI-сценарию операционная система сервера выполняет его загрузку с диска в оперативную память. Данный процесс занимает некоторое время. При повышении нагрузки на сервер время, требуемое для чтения файла с диска, увеличивается, и эта задержка может оказаться существенной при формировании документа.

Язык PHP обладает меньшим быстродействием при обработке больших объемов информации, однако интерпретатор команд PHP находится в оперативной памяти сервера постоянно, и готов к исполнению программного кода PHP. Благодаря этому никаких обращений к жесткому диску сервера не требуется. Кроме того, если верить разработчикам, с версии 4 этого языка он уже является полу-компилятором – перед выполнением исходный код программы однократно на этапе трансляции преобразуется в промежуточный байт-код, который в последствии интерпретируется. Такой подход позволяет добиться большей производительности, чем построковая интерпретация и проверка синтаксиса на этапе выполнения, существовавшие в предыдущих версиях.

Сценарии в DHTML интерпретируются на стороне клиента. Все быстродействие определяется в этом случае быстродействием компьютера клиента, однако сама интерпретация занимает, конечно же, значительно больше времени, чем выполнение компилированных программ. Исключение составляет обработка информации компонентами ActiveX, так как код этих элементов является откомпилированным. Аналогична ситуация и со сценариями ASP – при применении интерпретируемых языков JavaScript и VBScript скорость работы сценария может оказаться сравнительно низкой.

Отметим так же, что для средств, работающих на сервере, вопрос быстродействия менее значителен. В самом деле, какая разница, выполняется сценарий 0.01 сек., или 0.1 сек., если передача данных по каналам Интернет занимает 5 или 20 секунд? В качестве серверов используются, как правило, значительно более производительные компьютеры, нежели клиентские ПК, однако этим компьютерам одновременно приходится обрабатывать большое число запросов. Для приложений, выполняемых на стороне клиента, быстродействие более значительно, и здесь медлительность интерпретации (и последующего выполнения интерпретированных сценариев) становится более заметной.