ความแตกต่างระหว่าง CGI และ Servlet ความแตกต่างระหว่าง
ข้อได้เปรียบแรกของ servlet ผ่าน CGI อยู่ในความเป็นอิสระของแพลตฟอร์ม Servlets สามารถทำงานได้บนระบบปฏิบัติการใด ๆ ตราบใดที่มีการติดตั้ง JVM ไว้ซึ่งหมายความว่าคุณจะไม่ประสบปัญหาใด ๆ แม้ว่าคุณจะเลือกที่จะเปลี่ยนระบบปฏิบัติการก็ตาม ด้วย CGI การเปลี่ยนระบบปฏิบัติการเป็นขั้นตอนที่ยากลำบากและลำบากเนื่องจากคุณต้องคอมไพล์โปรแกรมใหม่ในระบบปฏิบัติการใหม่
เนื่องจากคุณใช้งานโปรแกรมที่เป็นอิสระใน CGI พวกเขาสร้างกระบวนการของตัวเองขึ้นเมื่อมีการดำเนินการสิ่งที่ไม่ได้เกิดขึ้นกับเซิร์ฟเล็ตเนื่องจากพวกเขามีส่วนร่วมในพื้นที่หน่วยความจำของ JVM ซึ่งอาจทำให้เกิดปัญหาเกี่ยวกับค่าใช้จ่ายโดยเฉพาะอย่างยิ่งเมื่อคุณเพิ่มจำนวนผู้ใช้ตามจำนวนครั้ง นอกจากนี้ยังสร้างปัญหาเกี่ยวกับช่องโหว่เนื่องจากโปรแกรมไม่ได้รับการควบคุมในลักษณะใดเมื่อรันบนเซิร์ฟเวอร์สรุป:
1. CGI มักเป็น executables ที่มีอยู่ในระบบปฏิบัติการของเซิร์ฟเวอร์แม้ว่าเซิร์ฟเล็ตสามารถถูกคอมไพล์ไปยังระบบปฏิบัติการพื้นเมืองได้ แต่ก็สามารถคอมไพล์ไปเป็น Java bytecode ที่รันบน JVM2 โปรแกรม CGI จะขึ้นอยู่กับแพลตฟอร์มในขณะที่เซิร์ฟเล็ตมีแพลตฟอร์มที่เป็นอิสระ
3. โปรแกรม CGI ทำงานเป็นกระบวนการแยกต่างหากในคอมพิวเตอร์ในขณะที่เซิร์ฟเล็ตทำงานบน JVM
4 CGI อาจเสี่ยงต่อการโจมตีมากกว่า servlets
5. CGI สามารถประมวลผลสคริปต์ได้โดยตรงในขณะที่ต้องแปลและเรียบเรียงก่อนจึงจะสามารถเรียกใช้เป็น