今天爱分享给大家带来Servlet 与 CGI 的区别是什么?【面试题详解】,希望能够帮助到大家。
Servlet 主要是运行在服务器端的一个组件,基于 Java 语法构建,延用 Java 的传统优
势——可移植、稳健、易开发。CGI 不可移植,为某一特定平台编写的 CGI 应用只能运行于
这一环境中。每一个 CGI 应用存在于一个由客户端请求激活的进程中,并且在请求被服务后
被卸载。这种模式将引起很高的内存、CPU 开销,而且在同一进程中不能服务多个客户。
Servlet 对 CGI 的最主要优势在于一个 Servlet 被客户端发送的第一个请求激活,然后
它将继续运行于后台,等待后续请求。每个请求将生成一个新的线程,而不是一个完整的进
程,多个客户能够在同一个进程中同时得到服务,也就是说它是基于多线程模式。而 CGI
对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于 servlet。