mkdir/usr/src/temp
CD/USR/SRC/TEMP
gzip´d cater.tar.gzip
tar xvl เสถียร.
CD Perl-5.6.0
rm -f config.sh polycy.sh
sh กำหนดค่า -de
แต่งหน้า
ทำการทดสอบ
ติดตั้ง
cgi = https://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
หน้าเว็บที่ให้บริการ CGI (html) = http://devfuria.com.br/miscellaneous/cgi-common-gateway-interface/
CGI/การจัดรูปแบบฟอร์แมตคืออะไร cgi = http://penta.ufrgs.br/edu/forms/cgi.html
ทรัพยากร CGI ไปยัง Java และ JavaScript = http://penta.ufrgs.br/pesquisa/joice/cap4.html
CGI ง่ายจริงๆ/เขียนสคริปต์ CGI เพื่อประมวลผล formulants บนเว็บ = https://www.jmarshall.com/easy/cgi/portugueses/
CGI - อินเทอร์เฟซเกตเวย์ทั่วไป = https://web.fe.up.pt/~goii2000/m9/cgi.htm
ตัวแปรสภาพแวดล้อม IBM ในสคริปต์ CGI (อ้างอิง) = https://www.ibm.com/docs/en-br/netcoolomnibus/8.1?topic=ssshtq_8.1.0/com.ibm.netcool_omnibus.doc_8.1.0/webtop/wip/reference/web_cust_envariableblebleblebleblebers.
CGI - tcl/tk language = http://www.c2o.pro.br/automacao/ar01s14.html
CGI แบบฟอร์ม = http://penta.ufrgs.br/edu/forms/cgi.html
CGI Tutorial = https://www.w3.org/cgi/
อินเทอร์เฟซเกตเวย์ทั่วไป (CGI) = https://en.wikipedia.org/wiki/common_gateway_interface
CGI (Wikipedia) = https://en.wikipedia.org/wiki/cgi
CGI บทนำ = http://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
CGI (อินเทอร์เฟซเกตเวย์ทั่วไป) คืออะไรและมันทำอะไร? Common Gateway Interface (CGI) เป็นเทคโนโลยีที่ช่วยให้คุณสามารถสร้างหน้าแบบไดนามิกด้วยการโต้ตอบสคริปต์เซิร์ฟเวอร์ HTTP กับสคริปต์เกตเวย์และโปรแกรมผ่านพารามิเตอร์ ดังนั้นสคริปต์ CGI เป็นโปรแกรมขนาดเล็กที่ตีความพารามิเตอร์เหล่านี้และสร้างหน้าหลังจากประมวลผล
แต่การใช้ CGI นั้นไม่ปลอดภัยมากโดยคำนึงถึงข้อควรระวังด้านความปลอดภัยบางอย่าง ด้านล่างจะมีการหารือเกี่ยวกับข้อควรระวังด้านความปลอดภัยที่จะใช้ตามกฎของโปรแกรม CGI บางอย่างหลังจากอธิบายว่า CGI ทำงานอย่างไร
มันทำงานอย่างไร? ตัวอย่าง:
ไคลเอนต์ (เบราว์เซอร์) ร้องขอ URL จาก URL ที่ร้องขอสำหรับ CGI ดังนั้นเซิร์ฟเวอร์จึงดำเนินการ CGI CGI ที่ทำงานร่วมกับแอปพลิเคชันระบบอื่น ๆ กู้คืนข้อมูลจากแอปพลิเคชันเหล่านี้และส่งคืนผลลัพธ์ไปยังเซิร์ฟเวอร์ที่เซิร์ฟเวอร์ส่งข้อมูลไปยังลูกค้า
ทำไมต้องใช้ CGI? ด้วย CGI เซิร์ฟเวอร์ของคุณสามารถเข้าถึงข้อมูลที่ไม่สามารถอ่านได้กับลูกค้า (เช่นฐานข้อมูล SQL) และทำหน้าที่เป็นเกตเวย์ระหว่างพวกเขาเพื่อสร้างสิ่งที่ลูกค้าสามารถใช้ได้ เกตเวย์สามารถใช้เพื่อความหลากหลายของวัตถุประสงค์ที่พบมากที่สุดคือการจัดการ ISINDEX และการขอฟอร์ม HTTP
ตัวอย่างการใช้ CGI: แปลงหน้าคู่มือระบบ HTML และส่งผลลัพธ์ HTML ไปยังลูกค้า อินเทอร์เฟซกับฐานข้อมูล WAIS และ Archie แปลงผลลัพธ์เป็น HTML และส่งผลลัพธ์ไปยังลูกค้า อนุญาตให้ผู้ใช้ป้อนเซิร์ฟเวอร์ผ่านแบบฟอร์ม HTML และตัวถอดรหัสตาม CGI คุณอาจเขียน CGI เหล่านี้ผ่านเกตเวย์ที่สามารถเขียนได้ใน liguage ใด ๆ ที่ช่วยให้คุณสามารถดำเนินการในระบบเช่น:
C/C ++ FORTRAN PERL TCL UNIX SHESH SHESH SCRIPT SCRIPT พื้นฐานของโปรแกรมหลักของโปรแกรม CGI คืออะไร? โปรแกรม CGI หรือสคริปต์เป็นโปรแกรมปฏิบัติการที่สามารถดำเนินการได้ด้วยตัวเอง (ซึ่งไม่ใช่วิธีที่ปลอดภัย) ดังนั้นจึงมีข้อควรระวังด้านความปลอดภัยบางอย่างที่ต้องดำเนินการเมื่อใช้โปรแกรม CGI
กฎหลักคือ:
สคริปต์ CGI จะต้องอยู่ในสถานที่ที่เซิร์ฟเวอร์กำหนดสำหรับสคริปต์ CGI หรือต้องมีคำต่อท้ายพิเศษซึ่งเซิร์ฟเวอร์ได้รับการกำหนดค่าให้รับรู้ว่าเป็นสคริปต์ CGI ตามกฎหมาย ระบบส่วนใหญ่เก็บสคริปต์ CGI ในไดเรกทอรีรูทเซิร์ฟเวอร์ HTTP ที่เรียกว่า CGI-BIN ซึ่งได้รับการกำหนดค่าในลักษณะที่ผู้ใช้ที่เชื่อถือได้บางรายเท่านั้นที่สามารถบันทึกได้ สิ่งนี้จะหลีกเลี่ยงปัญหาด้านความปลอดภัยที่เห็นได้ชัดซึ่งเกิดขึ้นโดยอนุญาตให้ผู้ใช้ระยะไกลที่ไม่ระบุชื่อสามารถดำเนินการอะไรก็ได้ในระบบ ตัวอย่าง:/usr/local/apache/htdocs/cgi-bin
สคริปต์สามารถรวบรวมพารามิเตอร์อินพุตเริ่มต้น (ผ่านแป้นพิมพ์) ตัวแปรสภาพแวดล้อมหรือทั้งสองอย่าง
สคริปต์ควรให้เป็นเอาต์พุตหนึ่งในสามประเภทส่วนหัวมาตรฐานเป็นสตริงข้อความปกติ เป็นสามประเภท:
CONTECT_TYPE: ประเภทเนื้อหาหมายถึงข้อมูล MIME ทุกประเภทที่เซิร์ฟเวอร์ยอมรับ ประเภททั่วไปรวมถึงข้อความ/html, ข้อความ/ง่ายและข้อมูล/gif เนื่องจากเบราว์เซอร์/เซิร์ฟเวอร์ไม่สามารถอนุมานไฟล์ประเภทนี้จากตำแหน่งชื่อไฟล์หรือคำต่อท้ายชื่อนี้จะแจ้งเบราว์เซอร์ว่าข้อมูลประเภทใดที่คาดหวังและวิธีการใช้งาน
รูปแบบ: ประเภท/ประเภท
สถานที่: ชี้ไปที่เอกสารที่อื่นบนเซิร์ฟเวอร์ ช่วยให้คุณเปลี่ยนเส้นทางคำขอสำหรับเอกสารตามเกณฑ์บางอย่างที่ส่งโดยตัวแปรแบบฟอร์มหรือสภาพแวดล้อม
สถานะ: สามารถใช้เรียกใช้สคริปต์โดยไม่ต้องส่งหน้าใหม่ไปยังลูกค้า นอกจากนี้ยังสามารถใช้เพื่อส่งข้อความแสดงข้อผิดพลาดหรือข้อมูลอื่น ๆ ไปยังลูกค้า
สคริปต์จะต้องดำเนินการโดยผู้ใช้ที่เซิร์ฟเวอร์ได้กำหนดค่า (มีผู้ใช้พิเศษที่เรียกว่า "ไม่มีใคร" ซึ่งเป็นผู้ใช้เริ่มต้นสำหรับเว็บเซิร์ฟเวอร์ส่วนใหญ่คุณต้องตรวจสอบให้แน่ใจว่าผู้ใช้ "ไม่มีใคร" หรือผู้ใช้ที่เซิร์ฟเวอร์ของคุณได้รับอนุญาตให้ทำงานได้รับอนุญาตให้เรียกใช้สคริปต์และอ่าน/เขียนในไฟล์ใดก็ได้ที่สคริปต์ใช้)
รายละเอียดความปลอดภัยเพิ่มเติมในสคริปต์ CGI
จะรับข้อมูลเซิร์ฟเวอร์ได้อย่างไร? ทุกครั้งที่ผู้ใช้ร้องขอ URL ที่สอดคล้องกับโปรแกรม CGI เซิร์ฟเวอร์จะเรียกใช้ตามเวลาจริง แนวคิดที่ผิดเกี่ยวกับ CGI คือคุณสามารถส่งตัวเลือกคำสั่งและอาร์กิวเมนต์เสริมสำหรับโปรแกรมของคุณเช่น:
คำสั่ง% myprog -qa blorf
CGI ใช้บรรทัดคำสั่งเพื่อวัตถุประสงค์อื่น Gateway ใช้ตัวแปรสิ่งแวดล้อมเพื่อส่งพารามิเตอร์ไปยังโปรแกรม
จะส่งเอกสารไปยังผู้ใช้ได้อย่างไร? โปรแกรม CGI สามารถส่งคืนเอกสารจำนวนมากได้ คุณสามารถส่งคืนรูปภาพให้กับผู้ใช้เอกสาร HTML หรืออาจเป็นคลิปเสียง อาจอ้างถึงเอกสารอื่น ๆ
ลูกค้าจำเป็นต้องรู้ว่าเอกสารประเภทใดที่จะได้รับเพื่อให้พวกเขาสามารถนำเสนอได้อย่างถูกต้อง ในไม่ช้าโปรแกรม CGI จะต้องแจ้งให้เซิร์ฟเวอร์ทราบว่ามีการส่งเอกสารประเภทใด
ในการสื่อสารกับเซิร์ฟเวอร์ประเภทของเอกสารที่กลับมาไม่ว่าจะเป็นเอกสารที่สมบูรณ์หรืออ้างอิงไปยังอีกฉบับหนึ่ง CGI ต้องใช้ส่วนหัวขนาดเล็กที่ทางออก ส่วนหัวนี้เป็นข้อความ ASCII ซึ่งประกอบด้วยเส้นแยกต่างหากหรือโดย linerifeeds หรือโดย carriage returns (หรือทั้งสอง) ตามด้วยเส้นเปล่า
ตัวอย่าง:
เอกสารที่สมบูรณ์พร้อมประเภท MIME ที่สอดคล้องกัน การส่งเอกสาร HTML ไปยังลูกค้า
ประเภทเนื้อหา: ข้อความ/html
<title> เอาต์พุต HTML จากสคริปต์ CGI </title>เนื้อหาประเภท: ข้อความ/html สถานที่: gopher: //httprules.foobar.org/0
<title> ขออภัย ... ย้าย </title>รูปแบบหนึ่งอาจมีส่วนประกอบต่าง ๆ เช่นอินพุตกล่องกาเครื่องหมายและวิทยุ
วิธีรับข้อมูลแบบฟอร์ม? มีสองวิธีที่สามารถใช้ในการเข้าถึงแบบฟอร์มรับและโพสต์ ขึ้นอยู่กับวิธีที่ใช้คุณจะได้รับข้อมูลที่แตกต่างกัน
วิธีการรับ: หากแบบฟอร์มของคุณใช้วิธี = "รับ" โปรแกรม CGI ของคุณจะได้รับข้อมูลที่เข้ารหัสในตัวแปรสภาพแวดล้อม querry_string ตัวอย่าง:
เข้าสู่ระบบ: รหัสผ่าน:วิธีการโพสต์: หากแบบฟอร์มของคุณใช้วิธี = "โพสต์" โปรแกรม CGI ของคุณจะได้รับข้อมูลอินพุตมาตรฐาน stdin เซิร์ฟเวอร์จะไม่ส่ง EOF ในตอนท้ายของข้อมูล แต่คุณจะต้องใช้ตัวแปรสภาพแวดล้อม content_length เพื่อกำหนดปริมาณของข้อมูลที่จะอ่านจาก stdin
ตัวอย่าง:
เข้าสู่ระบบ: รหัสผ่าน:วิธีการอ่านตัวแปรด้านสิ่งแวดล้อมจะขึ้นอยู่กับระบบปฏิบัติการที่โปรแกรม CGI จะถูกดำเนินการและภาษาการเขียนโปรแกรมที่เขียนไว้ โปรแกรม C ที่ทำงานใน Unix สามารถใช้ฟังก์ชั่น Char *getenv (const char *name); ซึ่งชื่อตัวแปรเป็นอาร์กิวเมนต์และส่งคืนค่าในสตริง
มันเป็นเทคโนโลยีเก่าหรือไม่? CGI ถูกคิดว่าเป็นสุดยอดของการอภิปรายโดยผู้เชี่ยวชาญในช่วงแรก ๆ ของอินเทอร์เน็ตในปี 1993 โดยศูนย์แห่งชาติ (สำหรับแอปพลิเคชั่นซูเปอร์คอมพิวเตอร์) คือระหว่าง Rob McCol, John Franks, Ari Lotonen, George Phillips และ Tony Sanders สิ่งที่สามารถทำให้เธอถือว่าเป็นเทคโนโลยีเก่า ๆ
ข้อกำหนด CGI 1.1: RFC3875
แม้ว่าโดยทั่วไปแล้วภาษาที่เกี่ยวข้องกับ CGI คือ Perl แต่ CGI ก็รู้สึกว่าเป็นอิสระจากภาษาที่ใช้ ปัจจุบันเทคโนโลยีเช่น ASP.NET, PHP, Python และ Ruby ยังคงใช้ข้อมูลจำเพาะต่อไป
มีทางเลือกอื่นสำหรับเขา (ไหน)? FastCGI: เป็นโปรโตคอลไบนารีสำหรับการโต้ตอบอินเตอร์เฟสกับเว็บเซิร์ฟเวอร์
PSGI: มันเป็นอินเทอร์เฟซระหว่างเว็บเซิร์ฟเวอร์และแอปพลิเคชันเว็บ Perl และเฟรมเวิร์กที่ให้คุณเขียนแอปพลิเคชันที่สามารถดำเนินการเป็นเซิร์ฟเวอร์อิสระหรือใช้ CGI RACK: จัดเตรียมอินเทอร์เฟซแบบแยกส่วนและปรับเปลี่ยนได้สำหรับการพัฒนาเว็บแอปพลิเคชันในทับทิม
WRB: เทคโนโลยีเซิร์ฟเวอร์ HTTP คล้ายกับ Oracle Distributed CGI
อินเตอร์เฟส: องค์ประกอบที่ให้การเชื่อมต่อทางกายภาพหรือตรรกะระหว่างสองระบบหรือชิ้นส่วนของระบบที่ไม่สามารถเชื่อมต่อได้โดยตรง
วิสัยทัศน์ทั่วไปแทรกคำอธิบายของภาพที่นี่
โดยทั่วไปเซิร์ฟเวอร์ HTTP มีไดเรกทอรี (โฟลเดอร์) ซึ่งถูกกำหนดให้เป็นคอลเลกชันของเอกสาร (ไฟล์) ซึ่งสามารถส่งไปยังเว็บเบราว์เซอร์ที่เชื่อมโยงกับเซิร์ฟเวอร์นี้ ตัวอย่างเช่นหากเว็บเซิร์ฟเวอร์มีชื่อโดเมนตัวอย่าง com และการรวบรวมเอกสารของคุณจะถูกเก็บไว้ใน/usr/local/apache/htdocs ในระบบไฟล์ท้องถิ่นเว็บเซิร์ฟเวอร์จะตอบกลับคำสั่งซื้อสำหรับ http://exemplo.com/index.html โดยส่งไปยังเบราว์เซอร์
CGI ขยายระบบนี้ช่วยให้เจ้าของเว็บเซิร์ฟเวอร์สามารถกำหนดไดเรกทอรีภายในคอลเลกชันเอกสารที่มีสคริปต์ที่เรียกใช้งานได้ (หรือไฟล์ไบนารี) แทนที่จะเป็นหน้าเว็บที่กำหนดซึ่งเรียกว่าไดเรกทอรี CGI ตัวอย่างเช่น/usr/local/apache/htdocs/cgi-bin สามารถกำหนดให้เป็นไดเรกทอรี CGI บนเว็บเซิร์ฟเวอร์ หากเว็บเบราว์เซอร์ร้องขอ URL ที่ชี้ไปที่ไฟล์ภายในไดเรกทอรี CGI (ตัวอย่างเช่น http://exemplo.com/cgi-bin/printenv.pl) แทนที่จะส่งไฟล์ (/usr/local/apache/htdocs/cgi-bin/printenv.pl) เว็บเบราว์เซอร์ นั่นคือสิ่งที่สคริปต์ส่งเอาต์พุตเริ่มต้นจะถูกส่งไปยังลูกค้าเว็บแทนที่จะแสดงบนหน้าจอในหน้าต่างเทอร์มินัล
โครงสร้างทั่วไปของสคริปต์ CGI: การอ่านข้อมูลและการถอดรหัส (และ/หรือฟิลด์ข้อมูลของแพ็คเกจ HTTP);
การประมวลผลข้อมูล (บันทึกข้อมูลเกี่ยวกับฐานข้อมูลดำเนินการคำนวณกู้คืนข้อมูล);
การสร้างหน้าเว็บด้วยผลลัพธ์ที่ผลิต
ตัวอย่างของการประมวลผลข้อมูลแอปพลิเคชันของ CGI ที่ส่งผ่านแบบฟอร์ม
ทำหน้าที่เป็นอินเทอร์เฟซกับฐานข้อมูลแปลงธุรกรรม HTML เป็น SQL และการจัดรูปแบบเป็น HTML คำตอบที่ได้รับจากนั้นส่งผลลัพธ์ไปยังลูกค้า
แปลงข้อมูลระบบเป็น HTML และส่งคืนผลลัพธ์ไปยังลูกค้า
การสร้างเอกสารส่วนบุคคล
จัดการเคาน์เตอร์การเข้าถึง
การประมวลผลแผนที่
วิธีการส่งข้อมูลโปรโตคอล HTTP ใช้การจัดการข้อมูลและวิธีการขององค์กรต่างๆ สองวิธีที่ใช้กันมากที่สุดในการส่งข้อมูลแบบฟอร์มคือการรับและโพสต์ ทั้งสองวิธีถ่ายโอนข้อมูลจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์ความแตกต่างที่ใหญ่ที่สุดระหว่างพวกเขาคือวิธีที่ข้อมูลถูกส่งไปยังโปรแกรม CGI:
รับ
CGI เรียกผ่านวิธีการรับ
เบราว์เซอร์เพิ่ม "?" URL ที่ระบุในแอตทริบิวต์การกระทำและค่ารหัส
http://exemplo.com/cgi-bin/registra.pl?login=guest
เซิร์ฟเวอร์เมื่อได้รับ URL ที่มีการสืบค้นสตริงเรียกโปรแกรม CGI ที่ระบุไว้ในส่วนแรกของ URL (ก่อนหน้า '?') และเก็บชิ้นส่วนหลังจาก '?' ในตัวแปรสภาพแวดล้อม query_string (สตริงให้คำปรึกษาที่มีอยู่ใน URL หลังจาก '?') สมมติว่าผู้ใช้พิมพ์ "แขก" ในฟิลด์เข้าสู่ระบบเมื่อคลิกปุ่มส่งเบราว์เซอร์จะส่งไปยังเซิร์ฟเวอร์
คำขอ GET ระบุเอกสารที่จะส่ง (CGI-bin/record.pl) ตราบใดที่เซิร์ฟเวอร์ได้รับการกำหนดค่าให้จดจำไฟล์ทั้งหมดในไดเรกทอรี CGI-BIN เป็นโปรแกรม CGI จะเรียกใช้โปรแกรมแทนที่จะส่งเอกสารโดยตรงไปยังเบราว์เซอร์และวางสตริงเข้าสู่ระบบ = 'แขก' ในตัวแปร query_string
โปรแกรมเมอร์ของ CGI ไม่สามารถควบคุมได้ว่าจะเรียกวิธีการใด ดังนั้นสคริปต์มักจะเขียนเพื่อสนับสนุนทั้งสองวิธี
ข้อมูลที่แนะนำในรูปแบบเป็นส่วนหนึ่งของเนื้อหาของข้อความที่ส่งไปยังเซิร์ฟเวอร์
ในขณะที่วิธี GET ส่งผ่านข้อมูลผ่านตัวแปรสภาพแวดล้อมโพสต์จะส่งข้อมูลไปยังโปรแกรม CGI ผ่านอินพุตมาตรฐาน (อินพุตเริ่มต้น stdio.h) เป็นสตริงความยาวที่ระบุในตัวแปร Content_length Environment;
ทำการโทร 2 ครั้งไปยังเซิร์ฟเวอร์หนึ่งรายการเพื่อติดต่อเซิร์ฟเวอร์และอีกครั้งเพื่อส่งพารามิเตอร์ กล่าวอีกนัยหนึ่งหากเซิร์ฟเวอร์ได้รับแบบฟอร์มโดยใช้โพสต์เขารู้ว่าเขาจะต้องดำเนินการต่อ "รอ" ข้อมูลที่เหลือต่อไป
ข้อดี/ข้อเสีย
ข้อดีของการรับคือช่วยให้คุณเข้าถึงโปรแกรม CGI ด้วยแบบสอบถามโดยไม่ต้องใช้แบบฟอร์มโดยทั่วไปเรากำลังผ่านพารามิเตอร์สำหรับโปรแกรม ตัวอย่าง: โปรแกรม CGI
ข้อเสียที่ใหญ่ที่สุดของการรับคือการขาดความปลอดภัยและความจริงที่ว่ามีความระมัดระวังว่าเบราว์เซอร์หรือเซิร์ฟเวอร์ไม่ได้หลอกข้อมูลที่เกินจำนวนอักขระที่อนุญาต
ข้อได้เปรียบที่ใหญ่ที่สุดของวิธีการโพสต์คือขนาดของการสืบค้นที่จะไม่ จำกัด สำหรับข้อมูลผ่านวิธีการโพสต์โปรแกรม CGI จะอ่านอินพุตมาตรฐานดังนั้นจึงไม่สามารถเข้าถึง CGI ได้โดยไม่ต้องใช้แบบฟอร์ม
ประวัติศาสตร์โดยคำนึงถึงความเร็วที่เกิดขึ้นกับนวัตกรรม CGI สามารถพิจารณาได้ว่าเก่าโดยพิจารณาจากการสร้างคอมพิวเตอร์อาจกล่าวได้ว่ามันอยู่ในวัยกลางคน
ในปี 1993 ทีมศูนย์แห่งชาติสำหรับแอพพลิเคชั่นซูเปอร์คอมพิวเตอร์ (NCSA) ได้เขียนข้อกำหนดเพื่อเรียกสายการดำเนินการบรรทัดคำสั่งที่รายการอีเมล www-voltal อย่างไรก็ตาม NCSA ไม่ได้โฮสต์ข้อกำหนด
นักพัฒนาอื่น ๆ ได้ใช้ข้อกำหนดและเป็นมาตรฐานสำหรับเว็บเซิร์ฟเวอร์นับตั้งแต่นั้นมา กลุ่มที่เป็นประธานโดย Ken Coar เริ่มงานในเดือนพฤศจิกายน 1997 เพื่อรับนิยาม NCSA ที่กำหนดไว้อย่างเป็นทางการมากที่สุด งานนี้ส่งผลให้ RFC3875 ซึ่งระบุรุ่น CGI 1.1 ที่กล่าวถึงอย่างชัดแจ้งใน RFC เป็นผู้เสียภาษีต่อไปนี้:
Rob McCool (ผู้แต่ง NCSA HTTPD เว็บเซิร์ฟเวอร์) John Franks (ผู้แต่งเว็บเซิร์ฟเวอร์ GN) Ari Lotonen (CERN HTTPD Web Server Developer) Tony Sanders (ผู้เขียนเว็บเซิร์ฟเวอร์ Plexus) George Phillips (การบำรุงรักษาเว็บเซิร์ฟเวอร์ที่มหาวิทยาลัยบริติชโคลัมเบีย)
เป็นทางเลือกที่คุณสามารถพิจารณาได้:
Fastcgi
PSGI (อินเตอร์เฟสเกตเวย์เซิร์ฟเวอร์เว็บเซิร์ฟเวอร์ Perl)
RACK (อินเตอร์เฟสเว็บเซิร์ฟเวอร์)
WSGI (อินเตอร์เฟสเกตเวย์เว็บเซิร์ฟเวอร์)
ตัวอย่างง่ายๆของสคริปต์ CGI
ใส่ตัวเลขสองตัว: