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