1.
การสื่อสารข้อมูลบนเวป
(Web)
HTTP server หรือ Web server
ได้ถูกออกแบบมาเพื่อเวป
มันมีโปรโตคอลที่ใช้ในการส่งข้อมูลจาก
server ไปยัง browser
และก็รับข้อมูลจาก
browser (หรือ HTTP Client
อื่นๆ)
กลับมายัง server
วิธีการ(method)ที่ใช้รับส่งข้อมูลมีอยู่หลายวิธี
วิธีพื้นฐานๆมีดังนี้
- GET --
ข้อมูลจะถูกส่งไปกับ
query string ของ URL
ตัวอย่างเช่น
การเรียก URL
http://tutor.dserver.org/cgi-bin/program?query_string
จะส่งข้อมูลใน
query_string ไปยัง HTTP server
ที่ทำงานอยู่ในเครื่องที่ชื่อว่า
tutor.dserver.org
- POST --
ข้อมูลจะถูกส่งไปในลักษณะของ
message body
ติดไปกับ request
message
ที่ถูกส่งโดย
client ไปยัง server
วิธีการนี้มีขั้นตอนที่ซับซ้อนกว่า
GET
แต่สามารถใช้กับข้อมูลที่ซับซ้อนกว่าได้ดีกว่า
และเราก็ได้รู้จักกับการส่งข้อมูลจาก
browser ไปยัง HTTP server
กันแล้ว CGI
เป็นเครื่องมือที่
server
ส่วนมากใช้ประมวลผลข้อมูลที่ถูกส่งมาจาก
browser
2. Server
ประมวลผลข้อมูลที่ส่งมาจาก
browser
โปรแกรม HTTP server
ส่วนใหญ่ออกแบบ
มาสำหรับให้บริการข้อมูลเท่านั้น
ไม่ได้ถูกออกแบบมาสำหรับ
ประมวลผลข้อมูลที่ส่งมาจาก
browser
ดังนั้นถ้าต้องการให้
server
ประมวลผลข้อมูลที่ถูกส่งมาจาก
HTML FORM (หรืออื่นๆ)
จำเป็นต้องมี
3
ส่วนต่อไปนี้
- โปรแกรมเสริมสำหรับประมวลผลข้อมูลที่ส่งมาจาก
browser
- เครื่องมือที่
server
จะส่งข้อมูลผ่านไปยังโปรแกรมเสริม
หรือที่เรียกว่า
โปรแกรม gateway
ซึ่งจะทำหน้าที่เป็น
gateway ระหว่าง web
และทรัพยากรอื่นๆบนเครื่อง
HTTP server เช่น
ฐานข้อมูล
- ช่องทางที่โปรแกรมเสริมจะส่งข้อมูลไปยัง
browser
เพื่อโปรแกรม
gateway
จะได้ส่งผลลัพธ์การประมวลผลข้อมูลไปให้กับ
user ได้
ดูตัวอย่างขั้นตอนการทำงานของทั้ง
3
ส่วนจากรูปต่อไปนี้..
หัวลูกศรแสดงเส้นทางการวิ่งของข้อมูล
ส่วนวงรีแทนโปรโตคอลที่ใช้ติดต่อระหว่างส่วนต่างๆ
3. CGI (Common Gateway Interface)
CGI คืออะไร?
CGI
ไม่ใช่ภาษา
ไม่ใช่โปรแกรม!!
มีหลายคนที่สับสนคิดว่า
CGI
คือโปรแกรมภาษา
Perl!
เมื่อกล่าวถึง
CGI
มีหลายคนที่คิดว่าคือโปรแกรมภาษา
Perl
และอีกหลายคนที่คิดว่าโปรแกรมภาษา
Perl คือ CGI ?!?
CGI
ไม่ใช่ภาษาโปรแกรม
CGI
เป็นโปรโตคอลที่ใช้ในการติดต่อระหว่าง
browser ตัว server
และตัวโปรแกรม
gateway (หรือที่เรียกกันว่า
CGI script)
ซึ่งอาจจะเขียนขึ้นด้วยภาษาอะไรก็ได้ที่สามารถติดต่อกับ
stdin, stdout และ
ตัวแปร environment
ของระบบได้
CGI (Common Gateway Interface)
เป็นการ interface
ระหว่าง server
และ
โปรแกรม 'gateway'
ภายใน server CGI
จะเป็นตัวกำหนดว่าข้อมูลจะส่งไปยัง
โปรแกรม gateway
ยังไง และ
ข้อมูลจะถูกส่งกลับมาโดยโปรแกรม
gateway อย่างไร
ภายใน server
และกลับไปยัง
browser
4.
ข้อมูลอ้างอิงเพิ่มเติม
ที่ผ่านมาจากข้อต่างๆข้างต้น
เป็นเพียงข้อมูลเบื้องต้นเพื่อแนะนำให้รู้จักกับ
CGI
การที่จะเป็นนักพัฒนา
CGI ที่ดี(ถึงขั้นมืออาชีพ)จะต้องเรียนรู้เรื่องต่อไปนี้ด้วย
- รายละเอียดของ
HTML (เพื่อสร้างแบบฟอร์มที่ถูกต้องสำหรับรับข้อมูลจาก
browser
และเพื่อให้โปรแกรม
gateway
ของคุณส่งข้อมูลผลลัพธ์ด้วยเอกสาร
HTML
ที่ถูกต้องตามที่ต้องการ)
- รายละเอียดของโปรโตคอล
HTTP (เพื่อส่งข้อมูลผลลัพธ์จากโปรแกรม
gateway
ของคุณด้วย
HTTP header
ที่ถูกต้อง)
- รายละเอียดของโปรโตคอล
CGI (ทำความรู้จักกับตัวแปร
environment ต่างๆ
และข้อมูลส่งมายังโปรแกรม
gateway
ทำความเข้าใจกับข้อมูลในแต่ละตัวแปรแต่ละตัว)
- วิธีการเขียนโปรแกรม
gateway โปรแกรม gateway
สามารถเขียนได้ด้วยภาษาต่างๆ
เช่น Perl หรือ C
ต้องทำความเข้าใจกับแต่ละภาษาให้ละเอียด
เนื้อหาส่วนถัดไป..
->