ตัวอย่างการติดต่อกับ CGI
เวลาที่มีการเรียกใช้งานโปรแกรม CGI (หลังจากนี้จะเรียกโปรแกรม gateway ที่ทำงานกับ CGI ว่าโปรแกรม CGI) ตัวแปร environment ต่างๆของระบบก็จะถูกกำหนดค่าขึ้น ลองดูตัวอย่างตัวแปร environment ที่ url ข้างล่างนี้

http://tutor.dserver.org/cgi-bin/env.pl

 

เป็นตัวอย่างของโปรแกรม CGI ที่เขียนด้วยภาษา Perl โดยนำเอาตัวแปร array ที่ชื่อ ENV (%ENV) มาพิมพ์ออกเป็นผลลัพธ์ ตัวแปรนี้เป็นค่าของตัวแปร environment ** คลิกที่นี่เพื่อดู source code ของโปรแกรมนี้ **

ตัวแปร environment ที่มีความจำเป็นและใช้มากๆตัวนึงก็คือตัวแปรที่ชื่อว่า QUERY_STRING ในตัวอย่างข้างบนตัวแปรนี้จะไม่ถูกกำหนด แต่ถ้าเราเพิ่ม ?something ต่อท้าย URL ของโปรแกรม CGI ข้อความหลังจากเครื่องหมาย ? จะถูกเก็บไว้ในตัวแปร environment ที่ชื่อว่า QUERY_STRING ลองดูที่ URL ต่อไปนี้เป็นตัวอย่าง

http://tutor.dserver.org/cgi-bin/env.pl
http://tutor.dserver.org/cgi-bin/env.pl?something
http://tutor.dserver.org/cgi-bin/env.pl?1
http://tutor.dserver.org/cgi-bin/env.pl?2
http://tutor.dserver.org/cgi-bin/env.pl?two+words

 

ลองเปรียบเทียบผลของตัวแปร QUERY_STRING ในแต่ละ URL ข้างบน แล้วจะเห็นความแตกต่าง

ตัวอย่างข้างต้นเป็นการใช้งานโปรแกรม CGI แบบ command line และใช้วิธี GET (ดูได้จากตัวแปร REQUEST_METHOD)

ต่อไปนี้เป็นตัวอย่างของการใช้งานโปรแกรม CGI แบบ GET อีกวิธีซึ่งใช้ตัวแปร environment ให้สังเกตที่ URL ที่อยู่ด้านหลังเครื่องหมาย ? หลังจากที่กด Submit แบบฟอร์มข้างล่างนี้ และสังเกตผลของตัวแปรที่ชื่อ QUERY_STRING และ REQUEST_METHOD

 

Click ที่นี่แล้วดูผลลัพธ์จากการ Submit

 

ต่อไปนี้เป็นตัวอย่างของการใช้งานโปรแกรม CGI แบบ POST ให้สังเกตที่ URL หลังจากที่กด Submit จะไม่มีเครื่องหมาย ? และข้อมูลข้างหลังเหมือนกับการใช้วิธี GET และการเรียกใช้โปรแกรม CGI แบบ command line แบบฟอร์มข้างล่างนี้ และสังเกตผลของตัวแปรที่ชื่อ QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE และ CONTENT_LENGTH เมื่อเปรียบเทียบกับตัวอย่างที่ผ่านๆมาข้างบน

 

Click ที่นี่แล้วดูผลลัพธ์จากการ Submit

 

เนื้อหาส่วนถัดไป.. ->