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
Стандарты Консорциума Всемирной паутины |
|
---|---|
Рекомендации | CDF • CGI • CSS • DOM • HTML • LOGML • MathML • OWL • RDF • RDF Schema • SISR • SMIL • SOAP • SRGS • SSML • SVG • Timed Text • VoiceXML • WSDL • XForms • XHTML • XInclude • XML • XML Base • XML Events • XML Information Set • XML Schema • XPath • XPointer • XQuery • XSL • XSL-FO • XSLT • XLink |
Примечания | XHTML+SMIL |
Рабочие проекты | CCXML • CURIE • InkML • XFrames • XFDL • WICD • XHTML+MathML+SVG |
См. также | WHATWG |
ar:واجهة المعابر العامة cs:Common Gateway Interface da:Common Gateway Interface de:Common Gateway Interface en:Common Gateway Interface eo:CGI es:Interfaz de entrada común et:CGI eu:Common Gateway Interface fi:CGI fr:Common Gateway Interface he:Common Gateway Interface hi:कॉमन गेटवे इंटरफेस hu:CGI (protokoll) id:Common Gateway Interface is:Common Gateway Interface it:Common Gateway Interface ja:Common Gateway Interface ko:공용 게이트웨이 인터페이스 lt:CGI nl:Common Gateway Interface no:Common Gateway Interface pl:CGI pt:CGI sk:Common Gateway Interface sl:Common Gateway Interface sv:Common Gateway Interface ta:பொதுவான கேட்வே இடைமுகம் te:కామన్ గేట్వే ఇంటర్ఫేస్ uk:CGI zh:通用网关接口
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....