Common Gateway Interface คืออะไร: การทำงานและการใช้งาน

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





คุณต้องการทราบว่าเบราว์เซอร์รับข้อมูลเรารวดเร็วและทันใจได้อย่างไร? นี่คือบทความที่อธิบายการทำงานของ 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

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 ทั่วโลกและภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้น