โปรแกรม CGI ทั้งหมดเข้าถึงตัวแปรสภาพแวดล้อมต่อไปนี้ ตัวแปรเหล่านี้มีบทบาทสำคัญขณะเขียนโปรแกรม CGI ใดๆ
| ลำดับ | Variable Name & Description |
|---|---|
| 1 | CONTENT_TYPE ประเภทข้อมูลของเนื้อหา ใช้เมื่อ client ส่งเนื้อหาแนบไปเซิร์ฟเวอร์ เช่น อัปโหลดไฟล์ |
| 2 | CONTENT_LENGTH ความยาวของข้อมูล query มีให้เฉพาะ POST requests |
| 3 | HTTP_COOKIE คืนคุกกี้ที่ตั้งค่าในรูปแบบ key & value pair |
| 4 | HTTP_USER_AGENT ฟิลด์ header User-Agent request มีข้อมูลเกี่ยวกับ user agent ที่สร้างคำขอ คือชื่อเว็บเบราว์เซอร์ |
| 5 | PATH_INFO เส้นทางสำหรับ CGI script |
| 6 | QUERY_STRING ข้อมูลที่เข้ารหัส URL ที่ส่งพร้อม GET method request |
| 7 | REMOTE_ADDR IP address ของ remote host ที่ทำคำขอ มีประโยชน์สำหรับ logging หรือ authentication |
| 8 | REMOTE_HOST ชื่อเต็มของ host ที่ทำคำขอ ถ้าข้อมูลไม่มี ใช้ REMOTE_ADDR ได้ IR address |
| 9 | REQUEST_METHOD วิธีที่ใช้ทำคำขอ วิธีทั่วไปคือ GET และ POST |
| 10 | SCRIPT_FILENAME เส้นทางเต็มไปยัง CGI script |
| 11 | SCRIPT_NAME ชื่อของ CGI script |
| 12 | SERVER_NAME hostname หรือ IP Address ของเซิร์ฟเวอร์ |
| 13 | SERVER_SOFTWARE ชื่อและเวอร์ชันของซอฟต์แวร์ที่เซิร์ฟเวอร์กำลังรัน |
นี่คือโปรแกรม CGI เล็กๆ สำหรับแสดงตัวแปร CGI ทั้งหมด:
#!/usr/bin/python
import os
print "Content-type: text/html\r\n\r\n"
print "Environment<\br>"
for param in os.environ.keys():
print "%20s: %s<\br>" % (param, os.environ[param])