Script output
โปรแกรม gateway จะส่งผลลัพธ์ของการทำงานออกมาทาง stdout (standard output) ผลลัพธ์นี้จะเป็นได้ทั้งเอกสาร(html หรือ อื่นๆ) หรือ ชุดคำสั่งที่จะสั่งให้ server นำข้อมูลที่ต้องการออกมาแแสดงผล
การตั้งชื่อของโปรแกรม gateway
ปกติโปรแกรม gateway จะส่งผลลัพธ์ซึ่งประมวลผลเสร็จแล้วและส่งกลับไปยัง browser จะมีข้อดีคือไม่จำเป็นต้องส่ง HTTP/1.0 header ทั้งหมดสำหรับทุกๆการร้องขอ
โปรแกรม gateway บางโปรแกรมต้องการที่จะจัดการกับ header เหล่านี้เองและติดต่อกับ browser โดยตรง เพื่อแยกโปรแกรมนี้ออกจากโปรแกรมอื่นๆ ต้องกำหนดให้ CGI รู้ โดยกำหนดชื่อโปรแกรม gateway ให้นำหน้าด้วย nph- ถ้าหากโปรแกรม gateway ไม่ต้องการให้ server เข้ามาจัดการ header ของตัวเอง เช่นกรณีที่โปรแกรมต้องการส่ง HTTP/1.0 ที่ถูกต้อง(หรือ HTTP 0.9) ไปยัง browser
Parsed header
ผลลัพธ์ของโปรแกรม gateway จะเริ่มต้นด้วย header เล็กๆ header นี้จะประกอบด้วยข้อความที่อยู่ในรูปของ HTTP header จบท้ายด้วยบรรทัดว่า 1 บรรทัด (บรรทัดว่างที่มีเฉพาะ LF หรือ CR/LF เท่านั้น)
header ใดๆก็ตามที่ไม่เป็น server directive จะถูกส่งตรงไปยัง browser, server directives 3 อย่างที่ถูกกำหนดไว้มีดังนี้
Content-type
เป็นตัวบอกชนิด MIME ของเอกสารที่จะส่งกลับไปยัง browser
Location
ใช้กำหนดว่าจะอ้างอิงถึงเอกสารอื่นๆที่นอกเหนือจากเอกสารนั้น
หากกำหนด argument ให้เป็น URL server จะจัดการ redirect browser ไปยังเอกสารที่ URL นั้นระบุ
หากกำหนด argument เป็น path server จะจัดการดึงเอกสารที่ถูกระบุส่งกลับไปให้ browser
Status
เป็นตัวบอก server ถึง HTTP/1.0 status line ที่จะส่งกลับไปยัง browser รูปแบบจะอยู่ในรูป nnn xxxxx โดยที่ nnn เป็นรหัสตัวเลข 3 หลัก (เช่น 401) และ xxxxx เป็นข้อความบอกเหตุ (เช่น "Forbidden")
ตัวอย่าง
มีโปรแกรม gateway โปรแกรมหนึ่งที่ใช้จัดการกับข้อมูลที่กรอกมาใน form เมื่อประมวลผลข้อมูลเสร็จแล้วจะส่งผลลัพธ์ออกไปยัง stdout (บรรทัดที่เริ่มด้วย --- มีไว้เพื่อแสดงให้เห็นถึงจุดเริ่มและจบเท่านั้น ไม่ใช่ผลลัพธ์ที่ส่งออกมาจริงๆ)