CGI

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия «скрипт» (сценарий) или «CGI-программа».

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

Все скрипты, как правило, помещают в каталог cgi-bin сервера, но это необязательно: скрипт может располагаться где угодно, но при этом большинство веб-серверов требуют специальной настройки.

В веб-сервере Apache, например, такая настройка может производиться при помощи общего файла настроек httpd.conf или с помощью файла .htaccess в том каталоге, где содержится этот скрипт. Также Apache позволяет запускать все скрипты, имеющие расширение .cgi.

CGI является одним из наиболее распространённых средств создания динамических веб-страниц.

Содержание

[править] Пример

Пример программы Hello World:

#!/usr/bin/python
import sys
try: 
    import cgitb
    cgitb.enable()
except ImportError:
    sys.stderr = sys.stdout
 
def cgiprint(inline=''):
    sys.stdout.write(inline)
    sys.stdout.write('\r\n')
    sys.stdout.flush()           
 
contentheader = 'Content-Type: text/html'
 
thepage = '''<html><head>
<title>%s</title>
</head><body>
%s
</body></html>
'''
h1 = '<h1>%s</h1>'
 
if __name__ == '__main__':
    cgiprint(contentheader)   # content header
    cgiprint()                # finish headers with blank line
 
    title = 'Hello World'
    headline = h1 % 'Hello World'
 
    print thepage % (title, headline)

[править] См. также

[править] Ссылки

[править] Литература

  • Кевин Мельтцер, Брент Михальски Разработка CGI-приложений на Perl = Writing CGI Application with Perl. — М.: «Вильямс», 2001. — С. 400. — ISBN 0-201-71014-5
  • Рейф Колберн Освой самостоятельно CGI-программирование за 24 часа = Sams Teach Yourself CGI in 24 Hours. — М.: «Вильямс», 2001. — С. 368. — ISBN 0-672-31880-6
Источник — «http://ru.wikipedia.org/wiki/CGI»