| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Общешлюзовой интерфейс (CGI) Благодаря Всемирной паутине,
почти любой может дать информацию в Интернете в
приятном для глаз и пригодном для широкого
распространения виде. Вы несомненно
путешествовали по Интернету и видели другие
сайты, и теперь вероятно знаете, что пугающие
сокращения типа "HTTP" и "HTML" - просто
своеобразные сокращения для "Веб" и
"способ выражения информацим в Интернете".
Возможно у Вас уже есть некоторый опыт
представления информации в Интернете. Интернет доказал, что является
идеальной средой для распределения информации,
как видно по его огромной популярности и
масштабного развития. Хотя кое-кто подвергает
сомнению полезность Интернета и приписывают ее
широкое развитие и популярность главным образом
навязчивой рекламе, Интернет бесспорно является
важным средством представления всевозможных
видов информации. Мало того, что существует
множество услуг по предоставлению самой свежей
информации (новости, погода, спортивные события в
реальном времени) и материалов справочного
характера в электронном виде, предлагаются также
значительные объемы данных другого рода.
Налоговое управление США, которое
распространило все свои бланки налоговых
деклараций в 1995 году и другую информацию через
Всемирную паутину, недавно призналось о
получении писем от поклонников своего Веб-сайта.
Кто бы мог подумать, что Налоговое управление
когда-нибудь будет получать письма от
поклонников? Это произошло не от того, что его
сайт был хорошо оформлен, а потому что он
оказался по-настоящему полезным инструментом
для тысяч, а возможно и миллионов людей. Что делает Веб уникальным и таким
привлекательным информационным сервисом? Прежде
всего тем, что он предоставляет интерфейс
гиперсреды для данных. Вспомните дисковод
жесткого диска своего компьютера. Как правило,
данные выражаются в линейном виде, аналогично
файловой системе. Например, Вы имеете ряд папок, а
внутри каждой папки находятся либо документы
либо другие папки. Веб использует разную
парадигму для выражения информации называемой
гиперсредой. Гипертекстовый интерфейс состоит
из документа и связей. Связи - это слова, на
которые кликают, чтобы увидеть другие документы
или отыскать другие виды информации. Веб
расширяет концепцию гипертекста, включив другие
типы носителей, например графику, звуки, видео
(отсюда имя "гиперсреда"). Выделение текста
или графики на документе позволяет увидеть
связанную информацию о выделенном элементе в
любом количестве форм. Хотя Веб предоставляет для
информации уникальный интерфейс гиперсреды,
имеется много других эффективных способов
распределения данных. Например, сетевые услуги
типа Протокола передачи файлов (FTP) и группа
новостей "Gopher" существовали намного раньше
появления Всемирной паутины. Электронная почта
была первичной средой для связи и обмена
информацией по Интернету и большинством других
сетей почти с самого начала функционирования
этих сетей. Почему Интернет стал таким
популярным способом распределения информации?
Мультимедийный аспект Интернета внес ощутимый
вклад в его небывалый успех, но для того, чтобы
Интернет стал наиболее эффективным он должен
быть интерактивным. Без способности получать ввод от
пользователей и давать информацию, Веб был бы
полностью статической средой. Информация была бы
доступна только в формате, определенном автором.
Это подорвало бы одну из вычислительных
возможностей вообще: интерактивную информацию.
Например, вместо того, чтобы принуждать
пользователя к просмотру нескольких документов,
как если бы он или она просматривали книгу или
словарь, будет лучше позволить пользователю
определить ключевые слова по интересующей их
тематике. Пользователи могут настраивать
представление данных, а не полагаться на жесткую
структуру, определенную поставщиком
содержимого. Общешлюзовой интерфейс (CGI)
является интерфейсом к серверу, который
позволяет расширить функциональные возможности
сервера. Используя CGI, можно работать в
диалоговом режиме с пользователями, которые
обращаются к вашему сайту. На теоретическом
уровне, CGI позволяет расширить возможности
сервера в отношении анализа (интерпретации)
ввода, поступающего от браузера, и возвращать
информацию, основанную на введенной информации
пользователя. На практическом уровне, CGI - это
интерфейс, позволяющий программисту записать
программы, которые легко связываются с сервером. Во-вторых, это трудно и требует обширных технических знаний. В-третьих, это применимо только
для конкретного сервера. Если нужно переместить
ваш сервер на другую платформу, придется
запустить или по крайней мере потратить много
времени, занимаясь переносом кода на эту
платформу. CGI предлагает переносимое и
простое решение этих проблем. Протокол CGI
определяет стандартный способ для программ,
чтобы связаться с сервером Веб. Без каких-либо
специальных знаний, можно записать программу на
любом машинном языке, который сопрягается и
связывается с сервером Веб. Эта программа будет
работать со всеми серверами Веб, которые
понимают протокол CGI. Поскольку CGI - универсальный
интерфейс, Вы не ограничены каким-либо
определенным машинным языком. Часто задают
важный вопрос: какие языки программирования
можно использовать для программирования CGI? Вы
можете использовать любой язык, который
позволяет делать следующее: Почти все языки программирования
и много языков описания сценария выполняют эти
три действия, и можно использовать любой из них. Два наиболее часто используемых
языка для программирования CGI - это C и Perl (оба из
которых рассматриваются в настоящей книге). У
обоих имеются четкие преимущества и недостатки.
Perl - язык очень высокого уровня, и в то же время
мощный язык, особенно пригодный для
синтаксического анализа текста. Хотя легкость
использования, гибкость, и мощность делает его
языком, привлекательным для программирования CGI,
его относительно большой размер и более
медленная работа иногда делает его неподходящим
для некоторых приложений. Программы C меньше по
размеру, более эффективны и обеспечивают
контроль за системой более низкого уровня, но
более сложны для программирования, не имеют
легких встроенных подпрограмм обработки текста,
и их труднее отладить. Имеются некоторые важные
альтернативы к приложениям CGI. Много серверов
теперь включают API-программирование, которое
облегчает программирование прямых расширений
сервера в противоположность отдельным
приложениям CGI. Серверы API обычно более
эффективны, чем программы CGI. Другие серверы
включают встроенные функциональные возможности,
которые могут обрабатывать специальные элементы
без CGI, например, сопряжение баз данных. И наконец,
некоторые приложения могут быть обработаны
некоторыми новыми клиентскими (а не серверными)
технологиями типа Java. Быстро ли устареет CGI в
условиях таких быстрых изменений в технологии,? Вряд ли. CGI имеет несколько
преимуществ перед более новыми технологиями. Общешлюзовой интерфейс - это протокол, в соответствии с которым программы взаимодействуют с серверами Веб. Универсальность CGI дает программистам возможность написать шлюзовые программы почти на любом языке, хотя имеются много компромиссных решений, связанных с различными языками. Без этой способности, создание интерактивных страниц Веб было бы затруднено, в лучшем случае, потребовалась бы модификациия сервера, и интерактивность оказалась бы недоступной для большинства пользователей, которые не являются администраторами сайта. [Содержание][Вперед] |
|
| ||||||||||||||||
|