Avatar billede tangveje Nybegynder
15. januar 2003 - 10:29 Der er 4 kommentarer og
1 løsning

CGI - Hvordan er det lige det fungerer

Hej

Jeg har arbejdet med PHP i omkring 2 år, og er fornyligt begyndt at rode med Python. Da Python også kan bruges til CGI programmering frem for Perl ville jeg jo lige prøve det af, men kan ikke helt se ideen... Måske er det bare mig.

Som jeg har forstået det har jeg en .py (eller for den slags skyld .pl) fil placeret i en bestemt mappe. Det i sig selv, at det skal placeres i en bestemt mappe synes jeg begrænser en for groft, det er jo nærmest vanvittigt ud over alle grænser.

Derudover, med PHP har jeg en .php fil med både HTML og PHP, det kan jeg ikke se at jeg kan med perl/python/cgi og det giver mig mareridt i stor stil, at jeg skal til at udskrive hele min HTML kode med Python, frem for blot at placere min kode hvor den nu passer ind, i den eksisterende HTML struktur. Det må da også påvirke den overordnede performance af scriptet.

Nogen der kan give mig en forklaring af hvorfor det er sådan (eller hvorfor det ikke er sådan, og at jeg har misforstået noget), hvorfor det er smart, og hvordan jeg lige får det til at fungere.

På forhånd tak :)
Avatar billede -mundi- Nybegynder
15. januar 2003 - 10:37 #1
i mine øjne var cgi smart for nogen år siden, da man ikke havde de f.eks asp, php og andre serverside script sprog ... Jeg ville ikke røre cgi med en ildtang med mindre det var en vedligeholdelses opgave på noget eksisterende :-)
Avatar billede tangveje Nybegynder
15. januar 2003 - 10:39 #2
-mundi- > Var egentlig også min opfattelse :) Men eftersom jeg egentlig ret godt kan li python, og i nogen tilfælde nok ville foretrække pythons syntaks frem for PHP's ville jeg lige undersøge det lidt, kunne jo være mine fordomme omkring CGI ikke helt holder :)
Avatar billede thomasledet Nybegynder
15. januar 2003 - 17:44 #3
på IIS kører php over CGI under alle omstændigheder (så vidt jeg ved)

CGI er et interface mellem webserveren og programmer på serveren... det er derfor webserveren, der bestemmer, hvornår et script må afvikles over CGI... at scripts skal ligge i cgi-bin eller whatever er ikke en begrænsning i cgi, men snarere noget som webserverens administrator har valgt for at holde det samlet... du kan sagtens have .pl eller .py filer spredt hvor du lyster... det er som sagt et spørgsmål om opsætning af webserveren...

cgi er stadig smart og er som sådan ikke forældet... det bliver dog overhalet i performance af fx mod_perl og java servlets... men det er altsammen et sprøgsmål om, hvor godt cgi-scriptet er skrevet - lige så meget som det er en "begrænsning" ved cgi...

problemet med cgi er, at programmet (incl en eventuel fortolker) skal udføres forfra ved hver eneste request... der findes løsninger til at komme uden om dette - mod_perl er en... hvor programmet ligger resistent hele tiden på webserveren og der spildes derfor ikke tid på parsing og fortolkning.

jeg vil ikke mene, at cgi har nogle drawbacks i forhold til hverken asp/vb eller php
Avatar billede tangveje Nybegynder
15. januar 2003 - 19:48 #4
thomas > Godt man ikke bruger ISS :o) Ja og mod_python, så det skulle vist ikke være der problemet ligger. OK, så jeg kan godt placere mine filer hvor jeg ønsker, det jo ganske rart :) Men jeg er stadig lidt muggen over at jeg tilsyneladende ikke kan blande python/perl sammen med min HTML koden, som man gør med PHP. Har jeg misforstået eller er det rigtigt?
Avatar billede tangveje Nybegynder
16. januar 2003 - 20:59 #5
Lukker her, finder nok ud af detaljerne med tiden :) Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester