คุณต้องการทราบว่าเบราว์เซอร์รับข้อมูลเรารวดเร็วและทันใจได้อย่างไร? นี่คือบทความที่อธิบายการทำงานของ CGI ข้อดีและข้อเสีย Common Gateway Interface (CGI) คือชุดของมาตรฐานที่ใช้สำหรับการรันสคริปต์และโปรแกรมบนเว็บเซิร์ฟเวอร์ เนื่องจาก CGI เป็นอินเทอร์เฟซมาตรฐาน การสื่อสาร ระหว่างเว็บเซิร์ฟเวอร์และเว็บเบราว์เซอร์ของไคลเอ็นต์เป็นไปตามกฎที่ระบุ กล่าวอีกนัยหนึ่ง Common Gateway Interface ทำหน้าที่เป็นตัวกลางระหว่างเซิร์ฟเวอร์ WWW กับฐานข้อมูลภายนอกและแหล่งข้อมูล CGI ได้รับการอธิบายโดยกลุ่ม WWW ซึ่งอธิบายวิธีที่โปรแกรมโต้ตอบกับเซิร์ฟเวอร์ HyperText Transfer Protocol (HTTP) สคริปต์เขียนด้วย PHP และ ASP และประมวลผลบนเว็บเซิร์ฟเวอร์ก่อนที่หน้าเว็บจะโหลดและผลลัพธ์จะถูกส่งไปยังเบราว์เซอร์ของไคลเอนต์
Common Gateway Interface คืออะไร?
Common Gateway Interface (CGI) อธิบายว่าเป็นชุดของกฎสำหรับการแลกเปลี่ยนข้อมูลระหว่างเว็บ เซิร์ฟเวอร์ และสคริปต์ที่กำหนดเอง CGI เป็นวิธีหนึ่งที่พบบ่อยที่สุดสำหรับเว็บเซิร์ฟเวอร์ในการโต้ตอบกับผู้ใช้โดยการส่งข้อมูล ภาษาโปรแกรมที่ใช้สามารถเป็น C, C ++, Java, Perl, Python หรือ VB (Visual Basic)
หน้า HTML หลายหน้าประกอบด้วยแบบฟอร์มซึ่งใช้โปรแกรม CGI เพื่อประมวลผลข้อมูลที่มีอยู่ในแบบฟอร์ม สคริปต์หรือโปรแกรมถือเป็นอีกวิธีหนึ่งที่ใช้ในการให้ข้อเสนอแนะแก่ผู้ใช้เว็บในขณะที่สิ่งเหล่านี้ทำงานจากเครื่องของผู้ใช้แทนที่จะเป็นเว็บเซิร์ฟเวอร์และใช้โปรแกรมเช่น Java Scripts, Java applets หรือ ActiveX controls เทคโนโลยีต่างๆเหล่านี้โดยรวมเรียกว่าโซลูชันฝั่งไคลเอ็นต์และการใช้ CGI เรียกว่าโซลูชันฝั่งเซิร์ฟเวอร์เนื่องจากการประมวลผลมาจากเว็บเซิร์ฟเวอร์
Common Gateway Interface ทำงานอย่างไร
แผนภาพเกตเวย์ทั่วไปต่อไปนี้ช่วยให้เข้าใจว่า CGI ทำงานอย่างไรเมื่อผู้ใช้คลิกไฮเปอร์ลิงก์เพื่อค้นหาและเรียกดูเว็บเพจใด ๆ เว็บเบราว์เซอร์ที่ทำงานบนเครื่องไคลเอนต์ใช้ HyperText Transfer Protocol (HTTP) เพื่อแลกเปลี่ยนข้อมูลกับเว็บเซิร์ฟเวอร์ โปรแกรม CGI อยู่บนระบบเดียวกับที่มีเว็บเซิร์ฟเวอร์อยู่และทำงานจากระบบเดียวกัน
common-gateway-interface-working
ตามประเภทคำขอที่ได้รับจากเบราว์เซอร์เว็บเซิร์ฟเวอร์พยายามจัดเตรียมเอกสารจากระบบไฟล์เอกสารหรือเรียกใช้โปรแกรม CGI ต่อไปนี้เป็นชุดของเหตุการณ์ในการสร้างเอกสาร HTML โดยใช้สคริปต์ CGI:
- ผู้ใช้ร้องขอเว็บเซิร์ฟเวอร์ HTTP และต้องการ URL ผู้ใช้ยังสามารถพิมพ์ URL ในหน้าต่างตำแหน่งของเบราว์เซอร์ซึ่งอาจเป็นไฮเปอร์ลิงก์หรือระบุเป็นแท็ก HTML
- เว็บเซิร์ฟเวอร์จะวิเคราะห์ URL และค้นหาชื่อไฟล์ มิฉะนั้นจะเปิดใช้งานโปรแกรมเกตเวย์ที่กล่าวถึงใน URL และส่งพารามิเตอร์ไปยังโปรแกรมผ่านทาง URL
- เกตเวย์ Common Gateway Interface ประมวลผลข้อมูลที่ต้องการและส่งไฟล์ / ข้อความ HTML ไปยังเว็บเซิร์ฟเวอร์ นอกจากนี้เซิร์ฟเวอร์ต่อท้ายส่วนหัว MIME และส่งข้อความ HTML ไปยังเบราว์เซอร์
- รับผลลัพธ์จากเว็บเซิร์ฟเวอร์เว็บเบราว์เซอร์จะแสดงเอกสารที่ได้รับหรือข้อความแสดงข้อผิดพลาด
คุณสมบัติของ CGI - CGI ถูกใช้เพื่อสร้างเชลล์สคริปต์และแอปพลิเคชันแบบโต้ตอบ
- พวกเขากำหนดไว้อย่างดีด้วยชุดของกฎ
- CGI เขียนโดยใช้ภาษาโปรแกรมง่ายๆเช่น Perl, C
- CGI เป็นเทคโนโลยีที่เชื่อมต่อกับ HTML ได้อย่างง่ายดาย
- CGI เข้ากันได้ดีกับเบราว์เซอร์ที่มีอยู่
ข้อดี
- ภาษา Common Gateway Interface ควรเป็นไปตามข้อกำหนดและด้วยเหตุนี้จึงสามารถเขียนด้วยภาษาโปรแกรมใดก็ได้
- CGI ช่วยให้เราสามารถใช้โค้ดที่สร้างไว้แล้วและผู้ใช้สามารถหลีกเลี่ยงการเขียนโค้ดของตนเองได้อีก
- ง่ายและปลอดภัยเนื่องจากแอปพลิเคชันทำงานบนเซิร์ฟเวอร์
- ฟังก์ชันขั้นสูงจะง่ายกว่ามากหากใช้ CGI มากกว่าใน Java
- เป็นไปอย่างรวดเร็วในการตอบสนอง
ข้อเสีย
- Common Gateway Interface ใช้เวลาในการประมวลผลมาก
- CGI เกิดค่าใช้จ่ายเมื่อ HTTP ยังคงเป็นโปรโตคอลไร้สัญชาติ
- ประกอบด้วยฐานรหัสที่มีอยู่อย่างหนาแน่นโดยส่วนใหญ่อยู่ใน Perl
- ทุกครั้งที่เรียกใช้สคริปต์ CGI กระบวนการจะเริ่มต้นอีกครั้ง
- ลดการทำงานของเซิร์ฟเวอร์
การใช้งาน Common Gateway Interface
CGI เปลี่ยนเว็บจากการรวบรวมข้อมูลคงที่เป็นโครงสร้างแบบโต้ตอบใหม่ซึ่งผู้ใช้สามารถโต้ตอบกับคำถามจำนวนมากเพื่อเรียกใช้แอปพลิเคชัน แอพพลิเคชั่นบางตัวที่ออกแบบโดยใช้ CGI ได้แก่ :
แบบฟอร์ม
แบบฟอร์มเป็นหนึ่งในผู้ใช้ CGI ที่สำคัญที่สุด แบบฟอร์มอนุญาตให้ผู้ใช้แชร์ข้อมูลและเป็นส่วนย่อยของ HTML โปรแกรม CGI ทำให้แบบฟอร์มเหล่านี้สามารถโต้ตอบได้สำหรับทั้งผู้ใช้และผู้ให้บริการโดยการประมวลผลและเลือกแบบฟอร์มที่เหมาะสมซึ่งตรงกับเกณฑ์การคัดเลือก
ประตู
เว็บเกตเวย์เป็นโปรแกรมหรือสคริปต์เหมือนกัน ใช้เพื่อเข้าถึงข้อมูลที่จำเป็นที่ไคลเอนต์ไม่สามารถอ่านได้โดยตรงจากฐานข้อมูล โปรแกรม CGI ใช้เพื่อทำหน้าที่เป็นเกตเวย์และใช้ภาษาโปรแกรมที่เหมาะสมเพื่ออ่านข้อมูลจัดรูปแบบและแบ่งปันกับลูกค้า
เอกสารเสมือนจริง
การสร้างเอกสารเสมือนเป็นส่วนที่สำคัญที่สุดของ CGI ในขณะที่ เสมือน เอกสารถูกสร้างขึ้นตามคำขอของผู้ใช้ซึ่งอาจแตกต่างกันไปตั้งแต่ HTML เสมือนรูปภาพข้อความธรรมดาไปจนถึงเสียงในบางครั้ง
แอปพลิเคชั่นการทำงานของ Common Gateway Interface
โปรแกรม CGI ที่น่าประทับใจบางโปรแกรมบนเว็บที่อธิบายถึงแง่มุมที่มีประสิทธิภาพของ CGI มีดังต่อไปนี้
Lycos World Wide Web Search
เซิร์ฟเวอร์นี้ช่วยให้ผู้ใช้เรียกดูเอกสารเฉพาะ เพื่อตอบสนองคำขอของผู้ใช้ Lycos จะส่งคืนเอกสารไฮเปอร์เท็กซ์ที่ตรงกับเกณฑ์การค้นหาเว็บของผู้ใช้ ลิงค์คือ www.lycos.com
สมุดระบายสี
แอปพลิเคชั่นที่น่าทึ่งออกแบบมาสำหรับผู้ใช้ที่ชอบระบายสี ลิงค์คือ www.ravenna.com/coloring
พจนานุกรมภาษาญี่ปุ่นเป็นภาษาอังกฤษ
เป็นแอปพลิเคชันเสมือนเอกสาร โปรแกรม CGI ที่ล้ำสมัยจะสอบถามคำภาษาอังกฤษจากผู้ใช้และส่งคืนคำภาษาญี่ปุ่นที่เทียบเท่าพร้อมรูปภาพที่เหมาะสม
สมุดเยี่ยมพร้อมแผนที่โลก
ใช้แอปพลิเคชันแบบฟอร์มซึ่งช่วยให้ผู้ใช้สามารถฝากข้อความที่ทุกคนอ่านได้
ข้อกังวลด้านความปลอดภัยของ Common Gateway Interface
สคริปต์ CGI ที่ติดตั้งบนเบราว์เซอร์ของผู้ใช้อาจมีข้อบกพร่อง จุดบกพร่องแต่ละจุดคือศักยภาพในการสร้าง ความปลอดภัย ประเด็น ปัญหาด้านความปลอดภัยที่เป็นไปได้ของสคริปต์ CGI มีสองวิธี -
- การรั่วไหลของข้อมูลโดยเจตนาหรือไม่ได้ตั้งใจเกี่ยวกับระบบโฮสต์ช่วยให้แฮกเกอร์เจาะเข้ามาได้ง่าย
- สคริปต์ CGI ที่ประมวลผลอินพุตของผู้ใช้ระยะไกลอาจเสี่ยงต่อการถูกโจมตีซึ่งผู้ใช้ระยะไกลจะหลอกลวงให้ดำเนินการคำสั่ง
คำถามที่พบบ่อย
1). กำหนดอินเทอร์เฟซเกตเวย์ทั่วไป
Common Gateway Interface (CGI) อธิบายเป็นชุดของกฎสำหรับการแลกเปลี่ยนข้อมูลระหว่างเว็บเซิร์ฟเวอร์และสคริปต์ที่กำหนดเอง
2). ตั้งชื่อภาษาโปรแกรมบางภาษาที่ CGI รองรับ
C, C ++, Java, Perl, Python หรือ VB (Visual Basic)
3). ให้คุณลักษณะหนึ่งของ CGI
ใช้เพื่อสร้างเชลล์สคริปต์และแอปพลิเคชันแบบโต้ตอบ
4. ให้ข้อได้เปรียบและข้อเสียของ CGI อย่างหนึ่ง
ความได้เปรียบ - CGI ช่วยให้สามารถใช้โค้ดที่สร้างไว้แล้วและผู้ใช้สามารถหลีกเลี่ยงการเขียนโค้ดของตัวเองอีกครั้ง
เสียเปรียบ - ลดการทำงานของเซิร์ฟเวอร์และใช้เวลาในการประมวลผลมาก
5). CGI มีรูปแบบอย่างไร?
แบบฟอร์มนี้เป็นส่วนย่อยของ HTML และใช้สำหรับรวบรวมข้อมูลและการสื่อสารแบบโต้ตอบ
6). CGI Overhead คืออะไร?
CGI เกิดค่าใช้จ่ายเมื่อ HTTP กลายเป็นโปรโตคอลไร้รัฐ ซึ่งหมายความว่ากระบวนการ CGI จะเริ่มต้นสำหรับทุก ๆ 'hit' บนเบราว์เซอร์
7). เหตุใดคนจำนวนมากจึงใช้ Perl สำหรับ CGI
Perl เป็นเครื่องมือที่ใช้งานง่าย มันมีคุณสมบัติที่มีประสิทธิภาพในการดึงข้อมูลจากไฟล์ข้อความการสแกนไฟล์ข้อความโดยพลการและการพิมพ์รายงานตามข้อมูลนั้น
ในบทความนี้เราได้อธิบายคำจำกัดความของ Common Gateway Interface นอกจากนี้เราได้กล่าวถึงรายละเอียดเกี่ยวกับหลักการทำงานของอินเทอร์เฟซเกตเวย์ทั่วไปข้อดีและข้อเสียการใช้การทำงาน การประยุกต์ใช้ CGI ทั่วโลกและภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้น