Файл: Технология CGI, заголовки ответов и запросов CGI 13.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.04.2023

Просмотров: 103

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Аналогичная проблема возникает со знаками пробела и знаками "+". Поскольку "+" используется вместо пробела в обычном потоке данных, в данных формы он также должен быть закодирован. Далее мы познакомимся с тем, как работает техника кодирования и полезными библиотеками, которые облегчают эту работу. 

Доводы за и против CGI

Написание Web-приложений с помощью CGI имеет как достоинства, так и недостатки.

Сначала рассмотрим преимущества CGI-программирования. Самое главное преимущество состоит в том, что эта технология не зависит от платформы, другими словами, CGI-программы применимы в операционных системах UNIX и Windows NT и почти для любого Web-сервера. Написав программу, вы можете быть уверены, что ее можно перенести на любой компьютер и на любой сервер (конечно, с точностью до компиляции, но об этом — немного позже) Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013].

Кроме того, написание CGI-программы не требует от вас использования какого-то конкретного языка программирования; вам не придется изучать новый язык только для того, чтобы написать CGI-программу. А если вы выберете независимый от платформы язык интерпретирующего типа вроде Perl, вы просто можете переносить свои программы из среды UNIX в Windows NT и обратно. [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .]

Еще одно преимущество CGI-программирования — необычайно простой интерфейс. Вам не понадобятся никакие специальные библиотеки и функции API. Все взаимодействие CGI-программы с Web-сервером основано на обычных UNIX-концепциях стандартного ввода и вывода и переменных среды (stdin, stdout и environment variables).

Теперь упомянем о недостатках. Единственный серьезный недостаток дает о себе знать, когда вы пишете свою программу на языке интерпретирующего типа. При каждом запросе на выполнение CGI-программы приходится запускать интерпретатор, обрабатывать программу и затем ее выполнять. Если для каждого запроса запускается интерпретатор Perl, это может сделать общение с вашим Web-приложением крайне неэффективным. Насколько серьезно это проявится в действительности, зависит от мощности вашего Web-cepвepa, от того, насколько часто выполняется запрос на CGI-программу, и от того, насколько программа быстро загружается в память Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013].

Многие серверы приложений используют компактные, высокоэффективные CGI-программы в качестве шлюза между своими приложениями и Web-сервером.


Еще одним недостатком CGI-программирования является то, что оно не очень-то облегчает жизнь программиста по сравнению с другими средствами разработки Web-приложений. При создании CGI-программы вы должны не только заботиться о логике поведения своей программы, но и вставлять в нее фрагменты, генерирующие HTML-текст [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].

Многие современные средства разработки Web-приложений позволяют вставлять программные компоненты непосредственно в текст HTML-файлов, что значительно экономит силы и время программиста. Это особенно на руку тем, кто умеет писать HTML-тексты, но не умеет программировать. Однако такой подход не позволяет создавать хорошо структурированные программы с развитой логикой, поэтому выбор подходов в значительной степени зависит от вкусов и навыков разработчика. Здесь трудно рассуждать об абсолютных достоинствах и недостатках. 

Языки CGI-программирования

Как я уже говорил выше, для создания CGI-программ может быть использован почти любой язык программирования. Если в приведенном ниже обсуждении вы не встретите упоминания некоторого языка, это не означает, что он не применим для этих целей. Для CGI-программирования подходит любой язык, который позволяет соблюсти обсуждавшиеся ранее требования. В этом разделе мы рассмотрим несколько популярных языков программирования, на которых чаше всего пишутся CGI-программы, но этот список ни в коем случае не следует считать исчерпывающим[Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].

Язык Perl

Perl — это "дедушка" всех языков программирования, которые применяются в наши дни для написания CGI-программ. Он обладал набором приятных свойств еще в те времена, когда были созданы первые Web-серверы, поддерживающие технологию CGI. Не следует думать, что он дает программисту какие-то особые преимущества, просто это язык, применяемый для создания CGI-программ большинством разработчиков [Прохоренок Н.А. Разработка Web-сайтов с помощью Perl и MySQL./ Н.А. Прохоренок -СПб.: БХВ-Петербург,2009].

Одним из главных факторов, обеспечивших популярность языка Perl, было наличие библиотек, облегчающих программирование Web-приложений. Сейчас в поставку интерпретатора Perl входит модуль CGI.pm, содержащий такую библиотеку. Одна из самых ценных функций, которые содержатся в этой библиотеке, — преобразование введенных в форму данных в структуру языка Perl. Кроме того, в этой библиотеке есть огромное количество функций для генерирования HTML-текста [Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013].


Еще одно важное достоинство языка Perl — это то, что в сети Internet есть много CGI-программ, которые вы можете загрузить и использовать для своих нужд. Очень часто оказывается проще переделать чужую программу, чем заново писать собственную.

Этот язык легко выучить, особенно если вы знакомы с основами программирования, кроме того, он фактически считается стандартом для разработки Web-приложений[Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013]. 

Что такое Perl?

Perl является интерпретируемым языком, созданным программистом Лари Уоллом (Larry Wall) для обработки больших текстов и файлов и расшифровывается, как Practical Extraction and Report Language (язык для практического извлечения данных и составления отчетов). С помощью Perl вы, например, можете создать скрипт, который открывает один или несколько файлов, обрабатывает информацию и записывает результаты [Прохоренок Н.А. Разработка Web-сайтов с помощью Perl и MySQL./ Н.А. Прохоренок -СПб.: БХВ-Петербург,2009].

С изобретением World Wide Web, Perl оказался прекрасным средством для взаимодействия с web-серверами через Common Gateway Interface (CGI) - общий интерфейс взаимодействия. Команды Perl могут легко получить данные из формы HTML или другого источника и что-нибудь с ними сделать.

Как Perl обрабатывает данные из форм

Perl достаточно гибок для обработки введенных данных. Например, если пользователь вводит информацию в регистрационную форму скрипт Perl может обработать ее многими способами, такими как: 
добавить их в текстовый файл, 

ввести их в базу данных, 

вставить их в электронное письмо, 

добавить их в существующую web-страницу, 

создать новую web-страницу, 

отобразить их в окне браузера. 

Некоторые из этих примеров рассматриваются в нашем уроке. 

Как генерируются web-страницы "на лету"

Больше всего впечатляет то, что Perl может быть использован для создания web-страниц "на лету" в ответ на запрос или действие пользователя. Новая страница может быть [Прохоренок Н.А. Разработка Web-сайтов с помощью Perl и MySQL./ Н.А. Прохоренок -СПб.: БХВ-Петербург,2009] 

благодарностью за заполнение формы 

страницей подтверждения с возможностью редактирования 

запросом дополнительных данных 

результатом запроса к базе данных или запроса поиска 

Эта возможность обеспечивает истинную интерактивность вашего узла. Такие скрипты позволят web-серверу автоматически реагировать на определенный набор запросов пользователя, предоставляя данные в требуемом пользователем виде [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .]. 


В чем различие между программой и скриптом?

Перед началом работы с Perl необходимо понять разницу между программой и скриптом. Оба из них используют набор инструкций для выполнения определенного задания, но программа скомпилирована в эффективный двоичный формат, что позволяет ей быстро выполняться на определенной платформе, в то время как скрипт хранится в оригинальном текстовом формате.

За счет того, что скрипты значительно короче программ, они выполняются тоже достаточно быстро.

За счет того, что скрипт не надо компилировать перед запуском он становится замечательным средством для быстрого создания и внесения исправлений в разработку интерактивных частей узла. 

Альтернативы Perl

Существует несколько альтернатив использованию Perl: 

С, Visual Basic - более традиционные компьютерные языки для обработки вводимых данных. Должны компилироваться под определенную платформу. 

ActiveX - включение программных компонент, выполняющихся в браузере. 

JavaScript, VBScript - обеспечивают некоторую интерактивность HTML страниц, которую HTML обеспечить не может. 

Cold Fusion - сторонняя программа для связи форм с базами данных. 

PHP/FI - еще одна сторонняя программа для связи форм с базами данных[Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .]. 

Несмотря на это Perl на сегодняшний день является наиболее простым и быстрым и в тоже время очень мощным средством придания интерактивности вашему узлу. 

2.2 Технология ASP.NET.  

В мире существует огромное количество самых разнообразных технологий, в значительной степени облегчающих жизнь, как опытному программисту, так и начинающему разработчику. Одной из наиболее популярных платформ для создания, запуска различных WEB-приложений и сервисов, является платформа Microsoft .NET Framework. Благодаря своей высокой производительности, поддержки большинства языков программирования и работа с самыми современными сервисами она по праву считается одной из лучших. .NET Framework можно разделить на три большие части:

  1. Общеязыковая среда управления;
  2. Большое множество унифицированных библиотек классов;
  3. Компонентная версия ASP – ASP.NET [Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013]

ASP.NET — это технология, разработанная компанией Microsoft, направленная на создание мощных WEB-приложений и WEB-сервисов. Позволяет в значительной степени облегчить процесс создание динамических страниц HTML. Входит в состав платформы Microsoft .NET и получила свое развитие из более старой версии подобной технологии Microsoft ASP [Венц К. Программирование в ASP.NET AJAX/ К. Венц -Пер,с англ,-СПб:Символ-Плюс,2008.].


Благодаря тому, что внешнее сходство между ASP.NET и более старой версией технологии ASP очень велико, то перейти на работу с более современной технологией разработчику относительно просто. Но, несмотря на внешнее сходство, внутреннее устройство новой технологии в значительной степени отличается от устаревшей ASP. В ней содержится огромное количество уже готовых элементов управления, пользуясь которыми можно быстро создавать самые разнообразные интернет-сайты. Помимо этого, можно прибегнуть к всевозможным сторонним сервисам, которые предоставляют другие сайты, не нагружая тем самым лишними функциями свой проект [Магдануров,Г.И. ASP.NET MVC Framework / Г.И. Магдануров, В.А. Юнев. – СПб,: Петербург,2010.-320 с,6ил.-(Профессиональное программирование)].

Проще говоря, возможности ASP.Net практически безграничны. Использование данной технологии будет полезно как для опытного разработчика, так и для молодого программиста. Существует огромное количество самых разнообразных курсов и сайтов, где происходит обучение работы с данной технологией. А если вы захотите узнать что-то конкретное, то справочная система MSDN, так же разработанная и созданная компанией Microsoft, в значительной степени облегчит ваши труды [Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013]

. На данный момент последней версией данного продукта является версия ASP.NET 4.0, но в новой ОС от компании Microsoft присутствует версия 4.5.

В ASP.NET входит:

  1. Платформа для разработки страницы и элементов управления
  2. Компилятор ASP.NET
  3. Инфраструктура защиты данных
  4. Возможности по управлению состоянием
  5. Конфигурация приложения
  6. Наблюдение и настройка производительности
  7. Поддержка отладки
  8. Платформа веб-служб XML
  9. Расширяемая среда размещения и управление жизненным циклом приложения
  10. Расширяемая среда конструктора
  11. Платформа для разработки страницы и элементов управления

Структура страниц и элементов управления ASP.NET — структура программирования, которая выполняется на веб-сервере для динамического создания и отображения веб-страниц ASP.NET. Веб-страницы ASP.NET можно просматривать в любых веб-обозревателях или клиентских устройства, ASP.NET отображает разметку (такую как HTML) в запрашивающем обозревателе. Как правило, можно использовать одну и ту же страницу для разных обозревателей, так как ASP.NET отображает соответствующую разметку для запрашивающего обозревателя [Венц К. Программирование в ASP.NET AJAX/ К. Венц -Пер,с англ,-СПб:Символ-Плюс,2008.].