Sammenligningstabel
Grunnlag for sammenligning | CGI | servlet |
---|---|---|
grunn~~POS=TRUNC | Programmene er skrevet i det opprinnelige operativsystemet. | Programmer som er ansatt ved hjelp av Java. |
Platformavhengighet | Platformavhengig | Støtter ikke på plattformen |
Opprettelse av prosess | Hver klientforespørsel oppretter sin egen prosess. | Prosesser blir opprettet avhengig av typen av klientforespørselen. |
Konvertering av skriptet | Present i form av kjørbare (innfødt til server-operativsystemet). | Utarbeidet til Java Bytecode. |
Kjører på | Separat prosess | JVM |
Sikkerhet | Mer utsatt for angrep. | Kan motstå angrep. |
Hastighet | Langsommere | Raskere |
Behandling av skript | Direkte | Før du kjører skriptene, blir det oversatt og kompilert. |
portabilitet | Kan ikke portes | Bærbar |
Definisjon av CGI
CGI (Common Gateway Interface) er et grensesnitt som håndterer eksterne programmer (CGI-skript) på en webserver for å aktivere utførelsen av de interaktive nettsidene. CGI ble utviklet av NCSA (Nasjonalt senter for Supercomputing Applications) i 1993. Det ligger i server siden og gjør det mulig for nettlesere å samhandle med programmer på webserveren. For eksempel, hvis en nettside spørrer en database eller en bruker sender inn skjemainformasjonen til serveren på den tiden, blir CGI-skript påkalt. Serveren overfører informasjonen til et program på to måter, GET eller POST, da svarer applikasjonen til serveren tilbake til nettleseren. På denne måten får nettleseren noen resultater for brukeren.
CGI er en bestemmelse for å beskrive en metode for å kjøre CGI-skript og gi resultatene tilbake til serveren for de aktuelle programmene. Funksjonen til en CGI er å skanne informasjonen mottatt fra nettleseren og gi en riktig respons, etter at oppgaven er fullført, blir CGI-skriptet avsluttet. I Common Gateway Interface, betyr det felles at det kan fungere fint i hvilket som helst operativsystem eller programmeringsspråk.
Tidligere ble UNIX-shell-skript og PERL brukt til å skrive CGI-programmene, det er grunnen til at det ble kalt CGI- skript . Men nå kan noen av språkene som C, C ++, Perl, Visual Basic eller Python brukes. Selv om CGI kan føre til potensielle sikkerhetsproblemer, kan webserveren også behandle kjørbare filer som CGI-programmer i enkelte bestemte kataloger. CGI håndterer hver klientforespørsel ved en separat prosess som øker serverbelastningen, noe som gjør den langsommere.
Definisjon av Servlet
En Servlet er en Java-basert webkomponenthandling som et mellomprogram som letter samspillet mellom nettleseren eller HTTP-klienten og HTTP-serveren. I likhet med CGI kan servlets også brukes til å samle informasjonen fra nettside skjemaene, vise postene fra databasen og generere dynamiske nettsider ved hjelp av en container. Servlet er en Java klasse som ikke stole på plattformen og videre kompilert til bytecode som er plattformuavhengig. Den plattformnøytrale bytekoden kan lagres og utføres dynamisk av Java-webserveren. Servlet bruker socket og RMI mekanisme for å etablere forbindelsen mellom applets, databaser eller andre databaseprogrammer.
Servletbeholder er en del av webserveren som støtter HTTP- og HTTPS-protokoller . Den benytter forespørsels- / responsmetoden ved hjelp av HTTP- og HTTPS-protokollen for å aktivere samhandling med webklienter. I motsetning til CGI går servlet inne i adresseserveren til webserveren, der hver klient ikke nødvendigvis behandles separat. I servletet håndheves en samling av begrensninger på serveren for å beskytte ressursene på serveren.
Viktige forskjeller mellom CGI og Servlet
- CGI-skript er skrevet i opprinnelig OS og lagret på den bestemte katalogen. På den annen side er servletprogrammer vanligvis skrevet i Java, som er kompilert i Java bytecode og utført i JVM.
- CGI er plattformspesifikk som gjør det vanskelig å bytte mellom operativsystemer. Imidlertid kan Servlets utføres i ethvert operativsystem som har installert JVM, og dermed er det plattformuavhengig.
- I CGI kan hver ankommer klientforespørsel generere en egen prosess mens servlet, prosesser er ikke opprettet unødvendig og dele minnesplassen til JVM.
- CGI-skript er kjørbare programmer skrevet i det opprinnelige operativsystemet på serveren. I kontrast er servlets kompilert til Java bytecode som kjører på JVM.
- Servlet er sikrere enn CGI da det bruker Java.
- Hastigheten, ytelsen og effektiviteten til servleten er bedre enn CGI.
- CGI-skript kan behandles direkte. Tvert imot oversetter servleten først og kompilerer programmet og behandler det deretter.
- Når det gjelder portabilitet, er servlet bærbart mens CGI ikke er.
Konklusjon
CGI og Servlet fungerer på samme måte, men bruk av servlet er fordelaktig over CGI da servlet er rask, sikker, plattform uavhengig, lett utviklet, tilgjengelig gjennom flere APIer og støttet av ulike webservere.