Scripting på serversiden - Server-side scripting

Server-scripting er en teknik, der bruges til webudvikling, som indebærer at anvende scripts på en webserver, der producerer et svar, der er tilpasset hver brugers (klient) anmodning til webstedet. Alternativet er, at selve webserveren leverer en statisk webside . Scripts kan skrives på et hvilket som helst af et antal serversprogede scriptsprog, der er tilgængelige (se nedenfor). Scripting på serversiden adskiller sig fra scripting på klientsiden, hvor integrerede scripts, f.eks. JavaScript , køres på klientsiden i en webbrowser , men begge teknikker bruges ofte sammen.

Scripting på serversiden bruges ofte til at levere en tilpasset grænseflade til brugeren. Disse scripts kan samle klientegenskaber til brug for at tilpasse svaret baseret på disse egenskaber, brugerens krav, adgangsrettigheder osv. Server-side scripting gør det også muligt for webstedsejeren at skjule kildekoden, der genererer grænsefladen, hvorimod, med klient- side scripting, har brugeren adgang til al den kode, som klienten modtager. En ulempe ved brugen af ​​scripting på serversiden er, at klienten skal foretage yderligere anmodninger over netværket til serveren for at vise nye oplysninger til brugeren via webbrowseren. Disse anmodninger kan bremse oplevelsen for brugeren, lægge mere belastning på serveren og forhindre brug af applikationen, når brugeren afbrydes fra serveren.

Når serveren serverer data på en almindeligt anvendt måde, f.eks. I henhold til HTTP- eller FTP -protokollerne , kan brugerne vælge mellem et antal klientprogrammer (de fleste moderne webbrowsere kan anmode om og modtage data ved hjælp af begge disse protokoller). I tilfælde af mere specialiserede applikationer kan programmører skrive deres egen server, klient og kommunikationsprotokol, der kun kan bruges sammen.

Programmer, der kører på en brugers lokale computer uden nogensinde at sende eller modtage data over et netværk, betragtes ikke som klienter, og driften af ​​sådanne programmer vil derfor ikke blive betragtet som klientsider.

Historie

Netscape introducerede en implementering af JavaScript til scripting på serversiden med Netscape Enterprise Server , første gang udgivet i december 1994 (kort tid efter frigivelse af JavaScript til browsere).

Server-scripting blev senere brugt i begyndelsen af ​​1995 af Fred DuFrense, mens han udviklede det første websted for Boston, MA tv-station WCVB . Teknologien er beskrevet i US patent 5835712 . Patentet blev udstedt i 1998 og ejes nu af Open Invention Network (OIN). I 2010 udnævnte OIN Fred DuFresne til en "Distinguished Inventor" for sit arbejde med scripting på serversiden.

Forklaring

I de tidligere dage på internettet blev scripting på serversiden næsten udelukkende udført ved hjælp af en kombination af C- programmer, Perl- scripts og shell-scripts ved hjælp af Common Gateway Interface (CGI). Disse scripts blev eksekveret af operativsystemet , og resultaterne blev betjent af webserveren. Mange moderne webservere kan direkte udføre scriptsprog online såsom ASP , JSP , Perl , PHP og Ruby enten ved webserveren selv eller via udvidelsesmoduler (f.eks mod_perl eller mod_php ) til webserveren. For eksempel inkluderer WebDNA sit eget integrerede databasesystem. Enten form for scripting (dvs. CGI eller direkte eksekvering) kan bruges til at opbygge komplekse sider med flere sider, men direkte udførelse resulterer normalt i mindre omkostninger på grund af det lavere antal opkald til eksterne tolke.

Dynamiske websteder bruger nogle gange brugerdefinerede webapplikationsservere, f.eks. Glassfish , Plack og Pythons "Base HTTP Server" -bibliotek, selvom nogle måske ikke anser dette for at være scripts på serversiden. Ved brug af dynamiske webbaserede scriptingteknikker skal udviklere have en skarp forståelse for den logiske, tidsmæssige og fysiske adskillelse mellem klienten og serveren. For at en brugers handling kan udløse eksekveringen af ​​serversiden kode, skal en udvikler, der arbejder med klassisk ASP, f.eks. Eksplicit få brugerens browser til at sende en anmodning tilbage til webserveren.

Scripts på serversiden behandles fuldstændigt af serverne i stedet for klienter. Når klienter anmoder om en side, der indeholder scripts på serversiden, behandler applikationsserveren scripts og returnerer en HTML-side til klienten.

Gengivelse på serversiden

I begyndelsen af ​​web-indholdet blev genereret udelukkende på Back-End. Efter den store vedtagelse af Front-End - enkeltsideapplikationer blev der introduceret en ny tilgang til at generere HTML ved hjælp af klientprogram, men på back-end. Eksempler på rammer, der bruger SSR er Next.js , Nuxt.js og Nest.js . De bruger henholdsvis React.js , Vue.js og Angular til at generere serverens indhold.

Server-side generation

En anden lignende SSR-teknik til generering af indhold til et websted er at bruge generation på serversiden. Denne teknik bruger applikation, der opretter statiske html -sider, og derefter sendes disse filer til serveren. Filgenerering kan ske på en helt anden computer, f.eks. Ved hjælp af kontinuerlig levering . Eksempel på SSG -værktøjer er Jekyll , Gatsby eller Eleventy . Disse websteder hostes ofte på Netlify- eller GitHub -sider. GitHub understøtter også Jekyll -projekter, hvor det automatisk bygger sitet, når ændringer tilføjes til git .

Sprog

Der findes en række scriptsprog på serversiden, herunder:

Se også

Referencer

eksterne links