واسط گذرگاه عمومی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

واسط گذرگاه عمومی (سی‌جی‌آی) یک متد استاندارد است که برای ایجاد محتوای پویا در صفحات وب و برنامه‌های کاربردی وب استفاده می‌شود. سی‌جی‌آی هنگامی که روی سرور یک وب‌سرور اجرا می‌شود، یک واسطه میان وب‌سرور و برنامه‌هایی که محتوای وب را ایجاد می‌کنند به وجود می‌آورد. این برنامه‌ها را CGI Script یا به‌طور خلاصه CGI می‌نامند که معمولاً با زبان‌های اسکریپت نویسی نوشته می‌شوند، اما امکان نوشتن آن‌ها با زبان های برنامه نویسی نیز وجود دارد.

تاریخچه[ویرایش]

نگارش[ویرایش]

برنامۀ CGI زیر تمام متغیرهای محیط که از سرور وب عبور کرده‌اند را نشان می‌دهد:

#!/usr/bin/perl
 
=head1 DESCRIPTION
 
printenv — a CGI program that just prints its environment
 
=cut
print "Content-type: text/plain\r\n\r\n";
 
for my $var ( sort keys %ENV ) {
 printf "%s = \"%s\"\r\n", $var, $ENV{$var};
}

اگر یک جستجوگر وب درخواستی را برای متغیرهای محیطی مطرح کند در http://example.com/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding،یک ویندوز ۶۴ بیتی ارائه دهنده وب که cygwin را اجرا می کند، اطلاعات زیر را برمی‌گرداند:

 COMSPEC="C:\Windows\system32\cmd.exe"
 DOCUMENT_ROOT="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"
 GATEWAY_INTERFACE="CGI/1.1"
 HOME="/home/SYSTEM"
 HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
 HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.7"
 HTTP_ACCEPT_ENCODING="gzip, deflate"
 HTTP_ACCEPT_LANGUAGE="en-us,en;q=0.5"
 HTTP_CONNECTION="keep-alive"
 HTTP_HOST="example.com"
 HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0"
 PATH="/home/SYSTEM/bin:/bin:/cygdrive/c/progra~2/php:/cygdrive/c/windows/system32:..."
 PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
 PATH_INFO="/foo/bar"
 PATH_TRANSLATED="C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\foo\bar"
 QUERY_STRING="var1=value1&var2=with%20percent%20encoding"
 REMOTE_ADDR="127.0.0.1"
 REMOTE_PORT="63555"
 REQUEST_METHOD="GET"
 REQUEST_URI="/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding"
 SCRIPT_FILENAME="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin/printenv.pl"
 SCRIPT_NAME="/cgi-bin/printenv.pl"
 SERVER_ADDR="127.0.0.1"
 SERVER_ADMIN="(server admin's email address)"
 SERVER_NAME="127.0.0.1"
 SERVER_PORT="80"
 SERVER_PROTOCOL="HTTP/1.1"
 SERVER_SIGNATURE=""
 SERVER_SOFTWARE="Apache/2.2.19 (Win32) PHP/5.2.17"
 SYSTEMROOT="C:\Windows"
 TERM="cygwin"
 WINDIR="C:\Windows"

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Common Gateway Interface»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد.‎