Главная| Что такое CGI - Форум| Мой профиль | Регистрация| Выход     Воскресенье, 05.05.2024, 23:55 | Вход
       [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Разное » Полезная информация » Что такое CGI
Что такое CGI
xardkorclubДата: Воскресенье, 26.08.2007, 08:43 | Сообщение # 1
Подлый Админ
Группа: Затейщики
Сообщений: 395
Репутация: 1
Статус: Не тута
Интерфейс CGI
Термин CGI (Common Gateway Interface — Общий шлюзовой интерфейс) обозначает набор соглашений, которые должны соблюдаться Web-серверами при выполнении ими различных Web-приложений. Вскоре мы расшифруем его смысл гораздо более подробно. Фактически, до недавнего времени все Web-программирование представляло собой программирование CGI-приложений. В последнее время ситуация изменилась. И хотя CGI все еще остается негласным стандартом для Web-приложений, механизм работы CGI-программ несколько обновился.

Что такое CGI?
Итак, мы набираем в нашем браузере
http://www.somehost.com:80/path/to/document.ext
Мы ожидаем, что сейчас получим HTML-документ (или документ другого формата - например, рисунок). Иными словами, мы рассчитываем, что на хосте в каталоге /path/to/ расположен файл document.ext, который нам сейчас и доставят (передаст его, кстати, Web-сервер, подключенный к порту 80 на сервере).

Однако на самом деле ситуация несколько иная. По двум причинам.

Путь /path/to/, ровно как и файл document.ext на хосте может вообще не существовать. Ведь администратор сервера имеет возможность задать псевдоним (alias) для любого объекта на сервере. Кроме того, даже если и не назначено ника- кого псевдонима, все равно имеется возможность так написать программы для Web-сервера, что они будут "перехватывать" каждое обращение к таким путям и соответствующим образом реагировать на это (пример рассмотрен в главе 1 ).
Файл document.ext может быть вовсе не текстовым документом, а программой, которая в ответ на наш запрос молниеносно запустится, не менее стремительновыполнится и возвратит пользователю результаты своей работы, хотя бы в том же HTML-формате (или, разумеется, в любом другом, - например, это может быть изображение). Пользователь и не догадается, что на самом деле произошло. Для него все равно, загружает ли он документ или невольно запускает программу. Бо- лее того, он никак не сможет узнать, что же на самом деле случилось.
Последний пункт особенно впечатляющ. Если вы прониклись его идеей, значит, вы поняли в общих чертах, что такое CGI. Как раз CGI обеспечивает все то, что выгля- дит так прозрачно для пользователя. Традиционно программы, работающие в соответствии с соглашениями CGI, называют сценариями - скорее всего из-за того, что в большинстве случаев их пишут на языках-интерпретаторах, подобных Basic (напри- мер, на Perl или PHP).

Задумаемся на мгновенье. Мы получили довольно мощный механизм, который по- зволяет нам, в частности, формировать документы "на лету". К примеру, пусть нам нужно, чтобы в каком-то документе проставлялись текущая дата и время. Разумеется, мы не можем заранее прописать их в документе - ведь в зависимости от того, когда он будет загружен пользователем, эта дата должна меняться. Зато мы можем напи- сать сценарий, который вычислит дату, вставит ее в документ и затем передаст его пользователю, который даже ничего и не заметит!

Однако в построенной нами модели не хватает одного звена. Действительно, предположим, нам нужно, чтобы время в нашей странице проставлялось на основе часового пояса пользователя. Но как сценарий узнает, какой часовой пояс у региона, в котором живет этот человек (или какую-нибудь другую информацию, которую может предос- тавить пользователь)? Видимо, должен быть какой-то механизм, который позволит пользователю не только получать, но также и передавать информацию серверу (в данном случае, например, поправку времени в часах относительно Москвы). И это тоже обеспечивает CGI.


Кто не <span style="color:red">любит вина, женщин и песен, тот так дураком и умрет.
М. Лютер
</span>
 
Форум » Разное » Полезная информация » Что такое CGI
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024