С о ф т у е р [ Gamez Parade ™]

Що е то CGI?
ПО ЧУЖДИ МАТЕРИАЛИ И ОТ СОБСТВЕН ОПИТ
  07.Май.2001

CGI - Common Gateway Interface

Метод за обмен на данни между сървър и web клиент (браузер). Сървър в случая (а и по принцип) означава не само компютър с по-особена конфигурация, както простосмърният в повечето случаи мисли, а и специален софтуер за управление на потоци от информация, бази данни, компютърни мрежи и т.н

CGI представлява множество от стандарти за изпращане на данни обратно към web сървъра, където те биват обработвани от програма или скрипт (множество от команди, които се изпълняват в определена последователност в момента на обръщения към тях)

В общия случай се изплзуват стандартни HTML тагове за получаване на данните от потребителя (т.е. такгове, с които са оформени форми, в които потребителят въвежда информацията, подлежаща на допълнителна обработка). Тези данни се "подават" (са входни данни) за CGI процедура, която от своя страна извършва някакви действия с данните. "Процедура" ще наричаме всяка прграма, сцрипт и т.н, която работи на сървъра и извършва обаработка на информация и/или някакво друго действие.

    Примери:
  1. Guestbook (книга за гости): CGI процедурата (routine) получава данните, извършва формална проверка за тяхната коректност и изпраща по E-mail обратната информация на посетителям който се е подписал в Книгата. По всяка вероятност уведомява и web мастер-а за създаден нов запис.
  2. E-mail форми: По-опростените процедури форматират данните в E-mail и ги изпращат към web-мастер-а. По-сложните процедури могат да поддържат бази данни, да изпращат групови съобщения, и да правят проверка за коректността на информацията.
  3. Mailing list - тези процедури дават възможност на посетителя да се абонира и да прекрати абонамента си за даден mailing list. Поддържат база данни с информация за E-mail адреси, разпращат групови съобщения, имат специални функции за собственика на mailing list-a и т.н.

CGI процедура е всичко, което може да интерпретира (познае) CGI стандартите. Един популярен език CGI език е PERL (сравнително лек за усвояване и работа). Всеки път, когато се изпълнява, web сървърът изчита PERL командите, за да разбере какво да прави. За разлика от него компилаторите (C++, Visual Basic) са езици, при които програмният код е предварително компилиран (транслиран и свързан с конкретни адрес), и се изпълнява директно, което е по-бързо и ефикасно.

Накратко и в много опростен вариант:

  1. в таг за форма се включва името на cgi процедура.
  2. Създава се HTML, в който е включена конкретната фиорма и чрез който сървърът получава информация от потребителя.
  3. Всеки таг за вход включва имена на променливи. Данните, които потребителят въвежда (както и всяка стойност, която се въвежда по премълчаване - ако има атрибут hidden), се присвояват на променливите.
  4. При натискане на Submit се изпълнява процедура, специфирана във формата. В този момент тя поема управлението, което означава, че браузерът я чака да завърши.
  5. Програмата получава входни данни от променливите, интерпретира ги и изпълнява съответните действия.
  6. Когато приключи работата на процедурата управлението се връща на клиента (браузер-а).

Важно е да се знае, че не всеки сървър (по-скоро не всеки екип, поддържащ даден хост) разрешава на клиентите да записват там скриптове, т.к. недоброжелателна намеса може да създаде сериозни проблеми. В същото време много сървъри предлагат безплатно готови скриптове с инструкции, които можете да използувате (гуестбоокс, обяви, бюлетин-бордове, и т.н.).

Ако все пак имате късмет да попаднете на безплатен хост (какъвто повечето търсят) с разрешение за изнсталиране на птребителски cgi, то скриптовете се поставят в cgi-bin директория. За CGI търсете Apache тип сървър, т.к. при NT и 2000 тази възможност е все още много "дървена".

архив[07.Май.2001], [05.12.2000], [ Burgas tourism] [ Polyphonical sounds for mobile phones ]