Chapter 1. Introduction   

Common Gateway Interface (CGI)


           ความจริงแล้วผมน่าจะเขียน Perl ก่อนที่จะเขียน PHP เพราะ Perl ก็คือพื้นฐานของ PHP แต่ไม่เป็นไร ถือได้ว่า  PHP Programming ที่เขียนสอนไปแล้วก็คือ พื้นฐานของ Perl เช่นกัน หรืออาจกล่าวได้ว่า เป็น พี่น้องท้องเดียวกันเลยด้วยซ้ำ ดังนั้นเท่ากับว่าผมได้เขียน Perl เสร็จไปแล้ว 70 % ทีนี้ใครที่เคยเรียน PHP หรือ C มาแล้วก็หวานเลยครับ

           บทเรียน Perl Programming นี้เป็นบทเรียนสำหรับผู้ที่เริ่มต้นหรือผู้ที่ไม่เคยเขียน โปรแกรมใดๆ มาก่อนเลย ส่วนท่านที่มีความรู้ Perl มาบ้างแล้วผู้เขียนแนะนำให้ไปศึกษาที่อื่นๆ ซึ่ง ThaiWBI มี Link อยู่ที่ Education Link แล้ว หรือถ้าต้องการศึกษาในบทเรียนนี้ก็สามารถทำได้

          คุณสามารถ Down load Sourcs code จากบทเรียนนี้ไปทดสอบเองได้ครับ

          เช่นกัน ก่อนที่จะเข้าสู่ Perl Programming จะขอกล่าว ถึง CGI ก่อน เพราะว่า Perl ทำหน้าที่เป็น CGI ตัวหนึ่ง

           ผมขอยกบทเรียนเรื่อง PHP Programming ส่วนที่ว่าด้วย CGI   เพราะถือว่าใช้ร่วมกันได้

           www เป็นเทคโนโลยีส่วนหนึ่งของการให้บริการ Internet เราคงรู้จัก www กันดี เพราะ www เป็นเทคโนโลยีที่มาแรง และเป็นที่นิยมกันมากในขณะนี้ อาจกล่าวได้ว่าเป็นตัวแทนของการให้บริการทั้งหมดของ Internet เลยก็ได้ http (Hypertext Transfer Protocol) ทำให้ www มีชีวิตชีวา   สามารถนำเสนอในรูป Text, Color , Graphic, Animation, Sound, Movie  etc. การนำเสนอในรูปแบบดังกล่าว สร้างความสนใจแก่ผู้ใช้เป็นอันมาก เพราะผู้ใช้ไม่ต้องทนใช้ Telnet (บริการ Internet ยุคแรกเริ่ม) ที่มีแต่ text และคำสั่งที่ต้องจดจำมากมาย อีกต่อไป

         ที่กล่าวมาเป็นเพียงส่วนหนึ่งของ http เท่านั้น ยังมีส่วนที่มีความสามารถที่ทรงพลังอีก ส่วนนี้เราเรียกมันว่า CGI หรือ Common Gateway Interface มันสามารถรับเอาข้อมูลจาก  Client ไปประมวลผลที่ Server และส่งผลลัพธ์กลับไปให้ Cilent เช่น Client ต้องการสอบถามข้อมูลว่ามี Website ใดที่มีข้อมูลที่เกี่ยวข้องกับ PHP บ้าง มันก็จะรับข้อมูลไปประมวลผลที่ Server และ Server ก็จะตรวจสอบกับ Database ที่มีอยู่ว่ามี Website ใดมีข้อมูลดังกล่าวหรือไม่ เสร็จแล้วก็จะส่งผลกับไปให้ที่ Client

main_cgi.gif (13731 bytes)
          CGI ไม่ใช่ภาษา CGI เป็นหลักการทำงาน ทำงานอย่างไร ขอให้ดูจากภาพข้างบน

          หลักการทำงาน

  1. Client เรียกข้อมูล http จาก Web Server เช่นเรียก http://www.thaiwbi.com
  2. Server ส่งข้อมูล เป็น Homepage หรือ html format มายัง Client
  3. Client ส่งข้อมูลที่ต้องการประมวลไปให้ Server  เช่น สั่งซื้อสินค้า
  4. Server ประมวลผล ตรวจสอบสินค้า
  5. Server ส่งผลการประมวลกลับไปให้ Client
  6. Client ยืนยันการสั่งสินค้า
  7. Server ตัดสินค้าในคลัง บันทึกลง Database

          แล้ว CGI ใช้ ภาษาอะไร
          CGI จะใช้ภาษาใดต้องคำนึงถึง Plateform ของ Web Server ด้วย ดังนี้

Unix/Linux WindowsNT
C
C++
Perl
PHP
Perl
PHP
ASP
CFM

Perl

         Perl ย่อมาจาก Practical Extraction and Report Language
         Perl พัฒนาขึ้นในปี 1986 โดยนาย Larry Wall
         Perl เป็นภาษาที่ใช้ทำ CGI ภาษาหนึ่ง
         Perl มีรากฐานการพัฒนามาจากภาษา C
         ดังนั้น ผู้ที่เคยศึกษาภาษา C มาบ้างแล้ว สามารถศึกษาภาษา Perl ได้โดยไม่ยาก

         เหตุผลสำคัญที่ทำให้เป็นที่นิยมคือ

  1. แน่นอนเป็นของฟรี
  2. ติดตั้งมาแล้วกับ Unix Standard หรือ Linux
  3. สามาถติดตั้งบน Win 32 ได้
  4. เขียนง่ายเพราะมีรากฐานมาจากภาษา C ซึ่งเป็นที่นิยมกัน
  5. ความสามารถพิเศษด้านการติดต่อระบบ เพื่อการ Admin ระบบ (โดยไม่ต้อง Telnet เข้าไป Admin)
  6. มี Function สำเร็จรูปมาให้
  7. มี Site Reference มากมายที่สอนการใช้
  8. Web Hostting ที่ให้บริการเช่าพื้นที่สร้าง .com .org .net etcฯ โดยประมาณ 90 % เป็น Unix Standard ดังนั้นจึงมี Perl ให้ใช้ (ทั่วโลกยกเว้นในประเทศไทย)
  9. จากข้อ 8 Website ทั่วโลกกว่า 80 % จึงใช้ Perl
  10. Free Web Hostting โดยส่วนใหญ่มีแนวโน้มที่จะเริ่มให้บริการ Perl (ที่ Hypermart.net มีให้ใช้)

       อันนี้ Microsoft ต้องทำงานหนักหน่อย กว่าชาวโลกจะหันมาใช้ ASP


Copy right Passkorn Roungrong