www.oocities.org/pontipa001

 

ปูพื้นฐาน cgi - perl

ผมก็ศึกษามาพักหนึ่งแล้วเหมือนกัน กับเจ้า cgi โดยผมมุ่งไปที่ภาษา perl นะครับ ทีนี้มาพูดกันถึงขอบข่ายของบทความ
นี้กันก่อนว่าจะกว้างมากน้อยขนาดไหน ขอบข่ายจะอยู่ที่ว่า การทำงานของระบบอินเทอร์เน็ตเวลาท่านดูเวป แล้วเมื่อมี
เจ้า cgi เข้ามาช่วยแล้วจะทำให้เกิดผลอย่างไร มีข้อดีกว่าระบบเดิมอย่างไร จากนั้นก็จะเสริมเรื่องระบบไฟล์บน unix ให้
อีกนิดหน่อย เพื่อจะได้เข้าใจว่าเจ้า cgi ที่เขียนด้วย perl นี้มันทำงานยังไง พอพูดจบก็เริ่มกันเลยดีกว่า ไปดูรูปแรกกัน

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

รูปที่สองคือ Web Server ที่ได้ใช้ระบบ cgi เข้ามาช่วย จะเห็นได้ว่าผู้เข้าชมทุกคนสามารถสั่งให้ cgi ทำงาน โดยที่ cgi จะ
ทำงานตามข้อกำหนดที่เจ้าของเวปไซท์สร้างขึ้นไว้ก่อน เอกสารก็จะสามารถเปลี่ยนแปลงไปได้ตามที่ผู้เข้าชมสั่งการ
ตัวอย่างที่เห็นได้ชัดก็คือ WebBoard นั่นเอง จะเห็นว่ามีการสร้างเอกสารขึ้นใหม่เมื่อผู้ชมสั่ง Post Message เข้าไป และ
ผู้ชมก็ไม่สามารถทำอะไรได้มากไปกว่าใส่ข้อความเข้าไปตามช่องที่ผู้จัดทำเวปไซท์ได้เตรียมไว้ล่วงหน้า

เมื่อพอเข้าใจแล้วว่า cgi มันทำงานเพื่ออะไร ก็มามองถึงว่าแล้วเจ้าคำสั่งต่างๆนั่นมันจะทำงานเมื่อไหร่ ตัว cgi เองนั้น
ที่จริงเป็นเพียงแค่หลักการที่ได้อธิบายข้างต้น แต่เมื่อเราจะเขียน cgi นั้นก็จะต้องพิจารณาถึงภาษาที่จะนำมาใช้งาน
ในปัจจุบันก็มีหลายภาษา หลายรูปแบบ เช่น perl , c++ , asp , php เป็นต้น ผมจะเน้นที่ perl เท่านั้นนะครับ เมื่อเลือก
ภาษาได้แล้วก็จะต้องเขียนคำสั่งในภาษานั้นๆและนำไปใส่ไว้บน Web Server เพื่อให้ผู้เข้าชมสามารถเรียกใช้งานได้
ไฟล์ที่เอาไปใส่ไว้บนเวปไซท์ตามปกตินั้นจะเป็นไฟล์อ่านอย่างเดียว แต่ไฟล์ที่เป็น cgi จะต้องกำหนดให้ execute ได้
หรือเรียกภาษาชาวบ้านว่า run ได้นั่นเอง ซึ่งภาษา perl มาตรฐานเดิมเลยใช้งานบน unix จึงมีการกำหนดให้ execute ได้
ด้วยการใช้คำสั่งบน unix ที่เรียกว่า chmod มาจาก change mode ลักษณะไฟล์บน unix เมื่อท่านเข้าไปใน unix
ด้วยโปรแกรม Telnet แล้วให้ใช้คำสั่ง ls -l ท่านจะเห็นปรากฏดังตัวอย่างนี้

[yoz@serv4 public_html]$ ls -l
total 28
drwxr-xr-x 5 yoz tadvice 4096 Mar 30 06:38 articles
drwxr-xr-x 3 yoz tadvice 4096 Apr 10 01:05 board
drwxr-xr-x 2 yoz tadvice 4096 Apr  1 00:51 cgi-bin
-rw-r--r-- 1 yoz tadvice 1170 Apr 10 07:30 copyright.html
drwxr-xr-x 2 yoz tadvice 4096 Apr 14 00:56 images
-rw-r--r-- 1 yoz tadvice 6126 Apr 13 23:04 index.html
[yoz@serv4 public_html]$

จากตัวอย่างจะเห็นด้านหน้าของแต่ละบรรทัดมีตัวอักษรอยู่ จะแบ่งออกเป็นกลุ่มๆ ตามตัวอย่างนี้ drwxr-xr-x
เมื่อแบ่งกลุ่มออกตามนี้ d rwx r-x r-x ตัวแรก d หมายถึง directory ถ้าเป็นไฟล์ข้อมูลจะเป็น - ต่อมาอีกสาม
กลุ่มจะมีรูปแบบเป็น rwx โดยที่กลุ่มซ้ายมือเป็นของ user คือเจ้าของไฟล์ กลุ่มกลาง r-x คือของ group และกลุ่มขวามือ
r-x เป็นของกลุ่ม other หรือผู้ใช้อื่นๆ

เมื่อต้องการทำให้ไฟล์ cgi สามารถทำงานได้จะต้อง chmod 755 ตามด้วยชื่อไฟล์ ผมก็จะได้อธิบายทีเดียวไปเลย อาจจะ
เข้าใจยากหน่อยแต่อ่านหลายๆทีจะเข้าใจนะครับ ตัวอักษรที่แสดงในการดูไฟล์ที่อธิบายไปแล้วนั้น มีความหมายดังนี้

r = 4 = read = ไฟล์สามารถอ่านได้
w = 2 = write =
ไฟล์สามารถเขียนได้
x = 1 = execute =
ไฟล์สามารถ run ได้

การที่ไฟล์ run ได้ก็คือต้อง read ได้และต้อง execute ได้ จึงจะต้องให้อย่างน้อย r-x ซึ่งค่าของ r-x ก็คือ 5 นั่นเอง
การ chmod เรียกด้วยตัวเลขสามหลัก โดย หลักแรกของ user หลักที่สองของ group และหลักที่สามของ other เมื่อต้อง
chmod 755 จึงทำให้เกิดลักษณะของไฟล์ดังนี้
-rwxr-xr-x อันที่จริงแล้วตัวเลขมาจากฐานสองนะครับ แต่แปลง
มาเป็นฐานสิบเพื่อให้เข้าใจง่ายและสามารถนำไปใช้ได้เลย

 

หน้าแรก
::Guest BooK::
::Web BoarD::
กระทู้เจ้าค่ะ
สาระ.com
หน้าแรก


คอมพิวเตอร์ในชีวิตประจำวัน
คอมพิวเตอร์สำหรับผู้บริหาร

มัลติมีเดีย
ที่มาของการขยายเทค
ทางด่วนข้อมูลรากฐานของการศึกษา
วิทยุ ทีวี บนอินเทอร์เน็ต
สารสนเทศส่วนบุคคล

ระบบข้อมูลข่าวสารขององค์กร
เมื่อทางด่วนข้อมูลข่าวสารเป็นจริง
จะไล่ตามจับเทคโนโลยีกันอย่างไรดี

โครงสร้างกำลังเปลี่ยนแปลง
ดิจิตอลไลบรารี

การรักษาความปลอดภัยบนเครือข่าย
จดหมายอิเล็กทรอนิก
กว่าจะมาเป็นไฟร์วอลล์

Video CD ภาพกระตุก
วีดีโอออนดีมานด์
สถาศึกษาของผู้ทำเวป สถาบันราชภัฎนครพนม
คำถามCode HTML

::LinK::

Link Mp3
Link Free Host
Link Computer Graphic
Link Web Board
Link Thai Search Engine
Link Internet
Link Download
Link Free Drive
Link Crack&Hack
Link Wallpaper&Screensaver
Link Operating system
Link Linux
Link Plam computer
Link Virus and Antivirus
Link Macintosh
Link สอนการใช้โปรแกรม
Link ภาษาคอมพิวเตอร์
Link ภาษาVB
game
คำศัพท์อินเทอร์เน็ต | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์
เกาเหลาเทคนิคการใช้ HTML
วิธีทำสร้าง Shortcut บน Desktop
ปัญหาใหญ่ของ Data transfer