Soovitatav, 2020

Toimetaja Valik

Erinevus CGI ja Servlet'i vahel

CGI ja Servlet on programmid, mis asuvad veebis või rakendusserveris ning aitavad veebiserveri ja brauseri (kliendipoolne) vahelist suhtlust veebisisu dünaamiliseks genereerimiseks. CGI ja servlet saab diferentseerida, sest nad töötavad erineval viisil ja neil on erinevad funktsioonid ja funktsioonid. CGI (Common Gateway Interface) programme saab kujundada algupärases operatsioonisüsteemis ja hoida teatud kataloogis. Teisest küljest on servlet veebipõhine komponent, mis on tavaliselt kirjutatud Java-s ja töötab virtuaalses java-masinas.

Võrdluskaart

Võrdluse alusCGIServlet
PõhilineProgrammid on kirjutatud emakeeles.Java-rakendused.
Platvormi sõltuvusPlatvorm sõltubEi tugine platvormile
Protsessi loomineIga kliendi taotlus loob oma protsessi.Protsessid luuakse sõltuvalt kliendi taotluse tüübist.
Skripti teisendamineEsitatakse käivitatavate failidena (serveri operatsioonisüsteemile).Koostatud Java Bytecode'i.
TöötabEraldi protsessJVM
TurvalisusRünnakutele tundlikumad.Võib vastu panna rünnakutele.
KiirusAeglasemaltKiirem
Skripti töötlemineOtseneEnne skriptide käivitamist tõlgitakse ja kompileeritakse.
KaasaskantavusEi saa teisaldadaKaasaskantav

CGI määratlus

CGI (Common Gateway Interface) on liides, mis haldab veebiserveri väliseid programme (CGI skripte), et võimaldada interaktiivsete veebilehtede täitmist. CGI on välja töötanud NCSA (National Supercomputing Applications Center) 1993. aastal. See asub serveri poolel ja võimaldab veebibrauseritel suhelda veebiserveri programmidega. Näiteks, kui veebileht pärsib andmebaasi või kasutaja esitab vormi informatsiooni serverile sel ajal, kutsutakse CGI-skripte. Server edastab selle teabe rakendusele kahel viisil: GET või POST, siis vastab rakendus serverile brauserisse. Sel viisil saavad brauserid kasutajale mõningaid tulemusi.

CGI on tingimus, mille abil kirjeldatakse meetodit CGI-skriptide käivitamiseks ja tulemuste tagastamiseks nende serverite jaoks. CGI funktsioon on brauserilt saadud teabe skaneerimine ja õige vastuse saamine, pärast ülesande täitmist lõpetatakse CGI-skript. Common Gateway liideses tähistab tavaline, et see võib toimida trahvi igas operatsioonisüsteemis või programmeerimiskeeles.

Varem kasutati CGI programmide kirjutamiseks UNIX-i skripte ja PERL-i, mis on põhjus, miks seda nimetati CGI- skriptideks . Kuid nüüd võib kasutada mõnda sellist keelt nagu C, C ++, Perl, Visual Basic või Python. Kuigi CGI võib juhtida potentsiaalseid turvaküsimusi, võib veebiserver mõnda konkreetset kataloogi käsitleda ka käivitatavaid faile CGI programmidena. CGI haldab iga kliendi soovi eraldi protsessiga, mis suurendab serveri koormust, muutes selle aeglasemaks.

Servleti määratlus

Servlet on Java-põhine veebikomponent, mis toimib vaheprogrammina, mis hõlbustab veebibrauseri või HTTP-kliendi ja HTTP-serveri vahelist suhtlemist. Sarnaselt CGI-le saab servletit kasutada ka teabe kogumiseks veebilehe vormide abil, andmete salvestamiseks andmebaasist ja dünaamiliste veebilehtede loomiseks konteineri abil. Servlet on Java-klass, mis ei tugine platvormile ja kompileeritakse edasi bytekoodiks, mis on platvormist sõltumatu. Java-veebiserver võib dünaamiliselt salvestada ja teostada platvormi-neutraalse baitekoodi. Servlet kasutab pesade ja RMI mehhanismi, et luua ühendus applettide, andmebaaside või muude andmebaasi programmide vahel.

Servlet konteiner on osa veebiserverist, mis toetab HTTP ja HTTPS protokolle . Ta kasutab päringu / vastuse meetodit, kasutades HTTP ja HTTPS protokolli, et võimaldada suhtlemist veebiklientidega. Erinevalt CGI-st töötab servlet veebiserveri aadressiruumis, kus iga klienti ei pea tingimata eraldi käsitlema. Servetis serveris rakendatakse ressursside kaitseks serveris piirangute kogumit.

Peamised erinevused CGI ja Servlet'i vahel

  1. CGI-skriptid on kirjutatud emakeeles ja salvestatud kindlasse kataloogi. Teisest küljest on servletiprogrammid tavaliselt kirjutatud Java, mis on kompileeritud Java bytecode ja täidetakse JVM.
  2. CGI on platvormipõhine, mis muudab operatsioonisüsteemide vahetamise raskeks. Vastupidi, servletid saab teostada mis tahes operatsioonisüsteemis, mis on installinud JVM, seega on see platvormist sõltumatu.
  3. CGI-s võib iga saabuv klienditaotlus genereerida eraldi protsessi, samas kui servlet, protsessid ei looda asjatult ja jagavad JVM-i mäluruumi.
  4. CGI skriptid on käivitatavad programmid, mis on kirjutatud serveri emakeeles. Seevastu servletid kompileeritakse Java bytecode'i, mis töötab JVM-il.
  5. Servlet on turvalisem kui CGI, kuna kasutab Java.
  6. Serveti kiirus, jõudlus ja tõhusus on parem kui CGI.
  7. CGI skripte saab otse töödelda. Vastupidi, servlet tõlgib ja kompileerib kõigepealt programmi, seejärel töötleb seda.
  8. Kui tegemist on kaasaskantavusega, on servlet kaasaskantav, samas kui CGI ei ole.

Järeldus

CGI ja Servlet toimivad samal viisil, kuid servleti kasutamine on CGI-le kasulik, kuna servlet on kiire, turvaline, platvormist sõltumatu, kergesti arendatav, kättesaadav mitmete API-de kaudu ning seda toetavad erinevad veebiserverid.

Top