เอเย่นต์ ( agent ) และ CGI ทำงานอย่างไร ?
อินเตอร์เน็ตได้รับความนิยมแพร่หลายอย่างรวดเร็ว และมีข้อมูลต่าง ๆ เก็บอยู่อย่างมากมายมหาศาลเสียจนเป็นปัญหาในการที่จะค้นหาข้อมูลเหล่านั้น แต่ปัจจุบันนี้เราสามารถใช้ซอฟต์แวร์ที่เรียกว่าตัวแทนหรือ เอเย่นต์ ( agents ) เพื่อช่วยในการเข้าถึงทรัพยากรอันมหาศาลของอินเตอร์เน็ตได้

มีการตั้งนิยามทางเทคนิคอย่างมากมายให้กับคำว่า เอเย่นต์ แต่เพื่อให้เข้าใจได้ง่ายขึ้นจะสรุปได้ว่า เอเย่นต์ก็คือโปรแกรมที่ช่วยทำงานแทนเราอย่างอัตโนมัติ เอเย่นต์สามารถรันอยู่บนคอมพิวเตอร์เดี่ยว ๆ หรือรันอยู่บนอินเตอร์เน็ตก็ได้ ทุก ๆ วันจะมีเอเย่นต์จำนวนมากทำงานอยู่บนอินเตอร์เน็ต เอเย่นต์สามารถหาข่าวล่าสุดและทำการดาวน์โหลดมาเก็บไว้ที่เครื่องคอมพิวเตอร์ของคุณได้ มันสามารถตรวจดูการจราจรในอินเตอร์เน็ตได้โดยอัตโนมัติและจะรายงานสรุปการใช้งานให้เราทราบ มันสามารถช่วยหาราคาซีดีที่ถูกที่สุดให้คุณได้ และมันสามารถทำงานบำรุงรักษา Web ได้ และอื่น ๆ อีกมากมาย ในอนาคตเอเย่นต์จะยิ่งซับซ้อนมากขึ้นไปเรื่อย ๆ และกำลังถูกพัฒนาไปในทางที่จะให้เอเย่นต์ต่าง ๆ สามารถโต้ตอบกันได้ ดังนั้นมันจึงสามารถช่วยกันทำงานได้

ในอินเตอร์เน็ต คนส่วนใหญ่รู้จักเอเย่นต์ในนามของ ( spider เนื่องจาก spider หรือ แมงมุม อาศัยอยู่บน เส้นใย หรือ World Wied Web ) robots ( หรือเรียกสั้น ๆ ว่า bots ) และ knowbots เอเย่นต์ที่ใช้ในการสืบค้นข้อมูลเหล่านี้จะสร้างดัชนี ( index ) สำหรับแหล่งข้อมูลต่าง ๆ ใน Web โดยอัตโนมัติ และหลังจากนั้นคนทั่วไปก็จะสามารถหาสิ่งที่ต้องการได้อย่างรวดเร็วโดยใช้ดัชนีเหล่านี้ เครื่องมือสืบค้นอย่างเช่น Lycos, Infrseek, และ Alta Vista จะใช้ spider ทำงานอย่างนี้

เอเย่นต์เหล่านี้เป็นโปรแกรมซอฟต์แวร์ซึ่งผู้ใช้จะมองเห็น คุณทำได้แค่เพียงแต่คาดหวังผลที่จะออกมาเท่านั้น และตัวเอเย่นต์จะทำงานนั้นให้อยู่เบื้องหลัง เราสามารถเขียนโปรแกรมเอเย่นต์ได้ด้วยภาษาคอมพิวเตอร์หลายภาษา วิธีหนึ่งก็คือการใช้ common Gateway Interface หรือ CGI ซึ่งเอเย่นต์หลาย ๆ ตัวก็ถูกสร้างขึ้นโดยวิธีนี้

เราสามารถใช้ CGI ในการทำอย่างอื่นได้อีกนอกเหนือจากการสร้างเอเย่นต์ เมื่อไรก็ตามที่คุณเรียกดู Web คุณอาจจะได้พบโปรแกรม CGI ( หรือที่ปกติจะเรียกว่า CGI script ) อยู่เสมอ ๆ เพราะ CGI เป็นวิธีการมาตรฐานในการที่ Web จะติดต่อกับแหล่งข้อมูลภายนอก ซึ่งส่วนใหญ่จะเป็นฐานข้อมูล คุณอาจจะรัน CGI script หลาย ๆ ครั้งแล้วโดยที่คุณไม่ทราบเลย เช่นในขณะที่คุณกรอกแบบฟอร์มบนหน้าจอ Web เพื่อที่จะลงทะเบียนในการใช้ Web site บางแห่งนั้น ซึ่งต่อมาคุณจะได้รับอีเมล์ตอบรับอนุมัติการใช้พร้อมกับรหัสผ่านสำหรับคุณโดยเฉพาะ ขั้นตอนเหล่านี้จะมีการรัน CGI script โดยที่คุณไม่รู้ตัวเลย ในกรณีนี้ CGI script จะนำข้อมูลที่เรากรอกลงในแบบฟอร์มนั้นไปดำเนินการต่อ รวมทั้งการนำข้อมูลเหล่านั้นใส่ลงไปในฐานข้อมูล สร้างรหัสผ่านได้โดยอัตโนมัติ แล้วจึงส่งอีเมล์มาแจ้งให้คุณทราบ

เอเย่นต์บนอินเตอร์เน็ต

เอเย่นต์เป็นโปรแกรมที่จะส่งออกไปและทำงานให้คุณโดยอัตโนมัติ ในอินเตอร์เน็ตนั้นเอเย่นต์เป็นที่รู้จักกันในหลาย ๆ ชื่อ รวมทั้งชื่อ robots และ spiders พวกมันจะทำงานอยู่เบื้องหลังโดยไม่ต้องมีผู้ดูแล มีงานหลาย ๆ ชนิดที่เอเย่นต์สามารถทำได้เช่น เก็บรวบรวมข้อมูลข่าวสารให้คุณ ซื้อสินค้าให้คุณ และทำการบำรุงรักษาส่วนที่สำคัญ ๆ บน Web server เป็นต้น

1. งานพื้นฐานของเอเย่นต์ในอินเตอร์เน็ตก็คือ ทำการรวบรวมข่าวสารข้อมูลหลาย ๆ แหล่งให้เรา ในขณะที่คุณไม่ได้ใช้คอมพิวเตอร์ หรือใช้คอมพิวเตอร์ทำงานอย่างอื่นอยู่ เอเย่นต์ข่าวสาร ( news agents ) สามารถทำงานได้ในหลายลักษณะ ตัวอย่างที่ง่าย ๆ ก็คือการที่คุณกรอกแบบฟอร์มว่าสนใจจะดูข่าวแบบไหน และอยากจะให้มันส่งมาเวลาไหนบ้าง จากนั้นเอเย่นต์ข่าวสารนี้จะติดต่อไปยังไซต์ที่เก็บข่าวไว้ทั่วทั้งอินเตอร์เน็ต ตามเงื่อนไขที่คุณได้ตั้งไว้ล่วงหน้าดังกล่าว แล้วมันจะทำการดาวน์โหลดข่าวต่าง ๆ มาเก็บไว้ที่คอมพิวเตอร์ของคุณ โดยคุณสามารถเรียกมันขึ้นมาดูได้เหมือนกับเว็บเพจอื่น ๆ ในภายหลัง

2. เอเย่นต์ช่วยซื้อสินค้า ( shopping agents ) จะช่วยในการเลือกซื้อสินค้าที่ให้ผลการต่อรองที่ดีที่สุดแก่คุณผ่านระบบอินเตอร์เน็ต คุณต้องกรอกแบบฟอร์มบน Web ระบุถึงรายละเอียดของสินค้าที่ต้องการจะซื้อ เมื่อคุณส่งแบบฟอร์มนี้ออกไป เอเย่นต์ช่วยซื้อสินค้านี้ก็จะเรียกโปรแกรมที่จะช่วยค้นหาสินค้าในที่ต่าง ๆ จากฐานข้อมูลในอินเตอร์เน็ตให้คุณ โดยเอเย่นต์จะค้นหาแหล่งหรือไซด์ที่ให้ราคาดีที่สุด เมื่อพบแล้วก็จะบอกให้คุณทราบถึงลิงก์ที่เชื่อมโยงไปยังไซด์นั้น ดังนั้นคุณก็สามารถเข้าไปดูที่ไซด์เหล่านั้นได้ โดยจะพบสินค้าราคาดีที่สุด แล้วทำการสั่งซื้อจากที่นั่น

3. Web robots ที่เรียกว่า Web maintenance spider นั้นสามารถทำงานจิปาถะด้านบำรุงรักษา Web ที่สำคัญ ๆ ให้เราได้ ใน Web site ที่ใหญ่ ๆ นั้น ข้อมูลหรือชุดคำสั่ง HTML ของบางเพจอาจจะมีบางลิงก์ที่ไม่ทันสมัยแล้ว หรือพูดอีกอย่างหนึ่งก็คือวัตถุที่ลิงก์นั้นชี้ไปได้ถูกถอดออกจากระบบอินเตอร์เน็ตไปแล้ว ซึ่งเมื่อใดก็ตามที่ผู้ใช้คลิกไปที่ลิงก์นั้นก็จะเกิดข้อความแสดงการผิดพลาดเกิดขึ้น ดังนั้น Web maintenance spider จะเข้ามาตรวจสอบในทุก ๆ ลิงก์ของเอกสารทุก ๆ หน้าที่เป็น HTML ใน Web site นั้น ๆ ว่าลิงก์นั้นยังอยู่ดีหรือไม่ จากนั้นมันจะสร้างรายงานบอกถึงลิงก์ที่ใช้การไม่ได้แล้วเพื่อให้ผู้ดูแลระบบได้รับทราบเพื่อทำการลบลิงก์ที่เสียนั้นออกไปอีกทีหนึ่ง

4. ขณะที่ robots หรือ spiders ทำงานอยู่บนอินเตอร์เน็ตในไซต์ที่ห่างไกลจากที่ปล่อยมันออกไปอยู่นั้น ก็อาจจะกลายเป็นการเพิ่มงานให้กับไซต์นั้น ๆ ด้วย ตัวอย่างเช่น มีการร้องขอไปยังไซต์นั้นติด ๆ กันมากเกินไป ด้วยสาเหตุเช่นนี้ผู้ดูแลระบบบางรายจะต้องหาวิธีที่จะปฏิเสธ robots ในบางครั้ง เช่น ไม่อนุญาตให้ robot เข้าไปในบางไดเร็คทรอรีของ Web เป็นต้น มีวิธีการหลาย ๆ วิธีที่จะจำกัดการติดต่อเข้ามาของ robots เช่นการสร้างไฟล์ชื่อว่า robots.txt ซึ่งจะกำหนดพื้นที่ซึ่ง robot ไม่สามารถจะเข้าไปได้ โดย robot ( ที่ดี ) จะอ่านที่ไฟล์นี้โดยอัตโนมัติและปฏิบัติตาม โดยจะไม่พยายามติดต่อเข้าไปในพื้นที่ไม่ได้รับอนุญาต

CGI script ทำงานอย่างไร ?

CGI ( Common Gateway Interface ) เป็นมาตรฐานที่ให้โปรแกรมเมอร์ใช้เขียนโปรแกรมที่สามารถเข้าไปใช้ข้อมูลเซิร์ฟเวอร์ในอินเตอร์เน็ต อย่างเช่น Web server ได้ แล้วส่งข้อมูลนั้นไปให้ผู้ใช้ ซึ่งนับเป็นวิธีการที่จะทำให้ Web สามารถติดต่อกับฐานข้อมูลและแหล่งข้อมูลภายนอกได้ ตัวอย่างเช่น โปรแกรมเมอร์อาจใช้ CGI เขียนแอพลิเคชันใน Web เพื่อให้ผู้ใช้สามารถค้นหาข้อมูลในฐานข้อมูล เช่นหัวข้อข่าวต่าง ๆ หรือบทความเกี่ยวกับภาพยนตร์ แล้วแสดงข้อมูลที่พบในเว็บเพจนี้ในรูปแบบ HTML นอกจากนี้ยังอาจใช้ CGI ในการให้ผู้ใช้กรอกแบบฟอร์มในอินเตอร์เน็ต ตัวอย่างเช่น การสมัครเป็นสมาชิกจดหมายข่าวอิเล็กทรอนิกส์ และนอกจากนี้โปรแกรม CGI ยังสามารถใช้ในการสร้าง Web spider หรือ robots ได้ด้วย ตัวอย่างเช่นต่อไปนี้เราจะดูว่าโปรแกรม CGI ซึ่งจะทำให้ผู้ใช้สามารถค้นหาข้อมูลจากฐานข้อมูลภาพยนตร์ว่ามีการทำงานอย่างไร

1. ผู้ใช้ซึ่งติดต่อไปยัง Web site ไม่จำเป็นต้องรู้การเขียนโปรแกรมเพื่อเรียกใช้โปรแกรม CGI แต่โปรแกรมเมอร์จะเป็นผู้เขียนโปรแกรม CGI นั้นเอง โดยสามารถใช้ภาษาคอมพิวเตอร์ต่าง ๆ ในการเขียน CGI ได้หลายภาษา เช่น C, C++, Fortran, Visual Basic และ AppleScript แอพลิเคชันที่เขียนขึ้นด้วยภาษาสำหรับโปรแกรม ( Programming language ) ทั่ว ๆ ไปบางภาษา เช่น ภาษา C จะต้องผ่านการคอมไพล์ ( คือผ่านการแปลงตัวโปรแกรมที่เรียกว่า compiler ) เสียก่อน เพื่อที่จะให้ตัวมันเองทำงานได้ ตัว compiler นี้จะแปลงแอพลิเคชันในภาษาดังกล่าวให้เป็นภาษาที่ CGI สามารถเข้าใจได้ ส่วนภาษาแบบอื่น ๆ ที่เรียกว่า scripting languages นั้นไม่จำเป็นที่จะต้องผ่านการคอมไพล์ก่อน CGI script นั้นจะง่ายต่อการดีบัก แก้ไขเปลี่ยนแปลงและบำรุงรักษา มากกว่าโปรแกรมที่จะต้องทำการคอมไพล์ก่อน ดังนั้นมันจึงถูกนำมาใช้เขียนโปรแกรมมากกว่า ซึ่งภาษาที่นิยมใช้ในการเขียน CGI script มากที่สุด ก็คือภาษา Perl

2. หลังจากที่โปรแกรมได้ถูกเขียนขึ้นและถูกคอมไพล์เรียบร้อยแล้ว หรือสคริปต์ได้ถูกเขียนขึ้นแล้ว โปรแกรมนี้จะถูกเก็บไว้ในไดเร็คทอรีพิเศษใน Web server เช่น /cgi-bin เป็นต้น ซึ่งไดเร็คทอรีนี้จะเก็บรักษาโปรแกรม CGI ไว้ทั้งหมด ทั้งนี้ผู้ที่ดูแลระบบของ Web server จะเป็นคนกำหนดว่าไดเร็คทอรีไหนที่ควรจะใช้เก็บโปรแกรม CGI ถ้ามีบางคนเขียนโปรแกรม CGI แล้วใส่ไว้ในไดเร็คทอรีที่ไม่ถูกต้องโปรแกรมก็จะไม่สามารถทำงานได้ นี่ถือเป็นการรักษาความปลอดภัยอย่างหนึ่ง เพราะถ้ายอมให้เก็บโปรแกรม CGI ไว้ได้ในหลาย ๆ ไดเร็คทอรีก็จะเป็นการยากในการที่จะต้องติดตามดูแลโปรแกรมเหล่านั้นทั้งหมด นอกจากนี้อาจมีบุคคลภายนอกสร้างโปรแกรม CGI เพื่อทำอะไรก็ไมารู้แล้วเอามาเก็บไว้ได้ ซึ่งอาจจะเป็นอันตรายต่อซอฟต์แวร์เดิมที่เก็บไว้แล้วหรืออันตรายต่อทั้งระบบก็ได้

3. หลังจากโปรแกรม CGI ถูกเก็บไว้ในไดเร็คทอรีเฉพาะแล้ว ลิงก์ที่ชี้ไปยังตัวมันจะถูกเก็บไว้ใน URL ของเว็บเพจนั้น

4. เมื่อคุณเข้าไปใน Web site และคลิกตรง URL โปรแกรม CGI จะถูกเรียกขึ้นมาทำงาน เช่น ถ้ามันยอมให้คุณค้นหาข้อมูลในฐานข้อมูลได้ มันจะส่งแบบฟอร์มในรูป HTML มาให้คุณกรอกรายละเอียดสิ่งที่คุณต้องการจะค้นหา เมื่อคุณกรอกเสร็จแล้วและคลิกที่ send ข้อมูลแบบฟอร์มก็จะถูกส่งไปยังโปรแกรม CGI

5. โปรแกรม CGI จะติดต่อกับฐานข้อมูลและร้องขอข้อมูลที่ผู้ใช้ต้องการ จากนั้นฐานข้อมูลจะส่งข้อมูลไปให้โปรแกรม CGI ซึ่งข้อมูลนี้อาจอยู่ในหลายรูปแบบ เช่น ข้อความ รูปภาพ เสียง ไฟล์วิดีโอ และที่อยู่แบบ URL เป็นต้น

6. เมื่อโปรแกรม CGI ได้รับข้อมูลจากฐานข้อมูลแล้วก็จะจัดรูปแบบให้ผู้ใช้สามารถอ่านเข้าใจได้ เช่น จัดให้อยู่ในรูปแบบ HTML เพื่อที่จะสามารถอ่านได้ด้วย Web browser แล้วจึงส่งผลที่ได้ในรูปแบบ HTML นั้นมาให้ผู้ใช้ซึ่งอาจเปิดดูได้ด้วย Web browser เช่นเดียวกับเว็บเพจทั่ว ๆ ไป ซึ่งผู้ใช้อาจจะคลิกไปยังลิงก์เพื่อไปเยี่ยมชมไซต์อื่น สั่งพิมพ์มันออกมา หรือดูภาพจากไฟล์กราฟิกและมัลติมีเดียได้ เป็นต้น

6 มีนาคม 2541




[ home ] [ menu ] [ Internet ]