
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference Between CGI and Servlet
In this article, we will understand the difference between CGI and servlet. Servlet is a Java class that helps servers to extend their abilities by hosting applications accessed using a request-response model. CGI behaves like middleware between www servers and external databases or information resources, helping pass data between the server and application.
Difference between CGI and Servlet
Some of the common differences between CGI and Servlet are as follows.
S.NO | Key | Servlet | CGI (Common Gateway Interface) |
---|---|---|---|
1 | Definition | It is a Java class that helps extend the abilities of servers. | It behaves like middleware between www servers and external databases and information resources. |
2 | Server Interaction | These are the servers that help host applications access using a request-response model. | The server would pass the information to an application, which processes it and sends back a response. |
3 | Application Hosting | They help extend the applications hosted using web servers. | Communicating data back and forth between the application and server is known as CGI. |
4 | Request Handling | It is based on a thread. A new thread is created for every new request. | It is based on a process. A new process is created for every new request. |
5 | Programming Language | It is written in Java and runs on a Java virtual machine. | It can be implemented in any programming language. |
6 | Object Orientation | It is an object-oriented concept. | It need not be object-oriented. |
7 | Portability | It is portable. | It is not portable. |
8 | Memory | It stays in memory until explicitly removed. | It is removed from memory once the request has been served. |
9 | Web Server | It can use any web server. | It uses only the web servers it supports. |
10 | Data Sharing | It allows data sharing. | It doesn't support data sharing. |
11 | Direct Server Link | It helps link directly to the server. | It doesn't link the server directly to the application. |
12 | HTTP Server Data | It can read and set HTTP server data. | It doesn't have the ability to set or read HTTP server data. |
13 | Resource Management | The process of constructing and destroying a thread is not expensive. | The construction and destruction of processes is considered expensive. |
Servlets are mostly used for applications that need high performance and resource management, and CGI is an older technology which is still may be used in some use cases but it is very less efficient because its process-based architecture.
Advertisements