Serverseitiges Skripting
Serverseitiges Skripting ist eine Technik in Web Entwicklung das beinhaltet die Beschäftigung Skripte Auf einem Webserver, der eine Antwort erzeugt, die für die Anforderung jedes Benutzers (Clients) an die Website angepasst wurde. Die Alternative besteht darin, dass der Webserver selbst a liefert Statische Webseite. Skripte können in einer Reihe von serverseitigen Skriptsprachen geschrieben werden, die verfügbar sind (siehe unten). Serverseitiges Skripting wird von unterschieden Client-Seite Scripting wo eingebettete Skripte wie z. JavaScript, werden clientseitig in a Webbrowser, aber beide Techniken werden oft zusammen verwendet.
Serverseitiges Skripting wird häufig verwendet, um dem Benutzer eine benutzerdefinierte Schnittstelle bereitzustellen. Diese Skripte können Client-Eigenschaften für die Verwendung bei der Anpassung der Antwort auf der Grundlage dieser Merkmale, den Anforderungen des Benutzers, Zugriffsrechts usw. zusammenstellen Seitentkripte hat der Benutzer Zugriff auf alle vom Client empfangenen Code. Ein Nachteil der Verwendung von serverseitigem Skripten besteht darin, dass der Client weitere Anfragen über das Netzwerk zum Server stellen muss, um dem Benutzer über den Webbrowser neue Informationen anzuzeigen. Diese Anfragen können die Erfahrung für den Benutzer verlangsamen, mehr Ladung auf den Server platzieren und die Verwendung der Anwendung verhindern, wenn der Benutzer vom Server getrennt wird.
Wenn der Server beispielsweise die Daten auf häufig verwendete Weise dient, entsprechend der Http oder Ftp ProtokolleBenutzer haben möglicherweise die Wahl für eine Reihe von Client -Programmen (die meisten modernen Webbrowser können Daten mit beiden Protokollen anfordern und empfangen). Bei spezielleren Anwendungen können Programmierer ihren eigenen Server-, Client- und Kommunikationsprotokoll schreiben, der nur miteinander verwendet werden kann.
Programme, die auf dem lokalen Computer eines Benutzers ausgeführt werden, ohne jemals Daten über ein Netzwerk zu senden oder zu empfangen, werden nicht als Clients betrachtet. Daher werden die Vorgänge solcher Programme nicht als kundenseitige Vorgänge angesehen.
Geschichte
Netscape führte eine Implementierung von ein JavaScript Für serverseitige Skripte mit Netscape Enterprise Server, erstmals im Dezember 1994 veröffentlicht (kurz nach der Veröffentlichung von JavaScript für Browser).[1][2]
Das serverseitige Skripting wurde später Anfang 1995 von Fred DuFrense bei der Entwicklung der ersten Website für Boston, MA-Fernsehsender, verwendet WCVB. Die Technologie wird in beschrieben US -Patent 5835712. Das Patent wurde 1998 ausgestellt und befindet sich jetzt im Besitz von Offenes Erfindungsnetzwerk (Oin). 2010 wurde Oin Fred Dufresne a genannt "Distinguished Inventor" für seine Arbeit an serverseitigem Skript.
Erläuterung
In den früheren Tagen des Webs wurde das serverseitige Skripting fast ausschließlich unter Verwendung einer Kombination von durchgeführt C Programme, Perl Skripte und Shell -Skripte Verwendung der Gemeinsame Gateway -Schnittstelle (CGI). Diese Skripte wurden von der ausgeführt Betriebssystemund die Ergebnisse wurden vom Webserver zurückgeführt. Viele moderne Webserver können direkt Online-Skriptsprachen wie z. ASP, JSP, Perl, Php und Rubin entweder vom Webserver selbst oder über Erweiterungsmodule (z. mod_perl oder mod_php) zum Webserver. Zum Beispiel, WebDNA Enthält ein eigenes eingebettetes Datenbanksystem. Entweder die Form des Skripts (d. H. CGI oder direkte Ausführung) kann verwendet werden, um komplexe mehrseitige Stellen aufzubauen, aber die direkte Ausführung führt in der Regel aufgrund der geringeren Anzahl von Aufrufen an externe Dolmetscher zu weniger Overhead.
Dynamische Websites verwenden manchmal benutzerdefinierte Webanwendungsserver wie z. Glasfische, Plack und Python"S-Bibliothek" Basis HTTP Server ", obwohl einige dies möglicherweise nicht als serverseitig angesehen werden. Bei der Verwendung dynamischer webbasierter Skripttechniken müssen Entwickler ein scharfes Verständnis der logischen, zeitlichen und physischen Trennung zwischen dem Client und dem Server haben. Damit die Aktion eines Benutzers die Ausführung des serverseitigen Codes ausgelöst hat, muss ein Entwickler beispielsweise mit klassischem ASP explizit dazu führen, dass der Browser des Benutzers eine Anforderung an den Webserver zurückstellt.
Serverseitige Skripte werden von den Servern anstelle von Clients vollständig verarbeitet. Wenn Clients eine Seite mit serverseitigen Skripten anfordern, verarbeitet der Anwendungsserver die Skripte und gibt eine HTML-Seite an den Client zurück.
Serverseitiges Rendering
Zu Beginn des Webinhaltes wurde nur am hinteren Ende generiert. Nach der großen Einführung des Frontends Einseitige AnwendungenEs wurde ein neuer Ansatz eingeführt, um die HTML mithilfe der Client -Anwendung zu generieren, jedoch am Back End. Beispiele für Frameworks, die SSR verwenden, sind Weiter.js, Nuxt.js und Nest.js. Sie benutzen React.js, Vue.js, und EckigSo generieren Sie den Inhalt des Servers.
Server-Seiten-Generierung
Eine andere ähnliche SSR-Technik zum Generieren von Inhalten für eine Website ist die Verwendung der Server-Seiten-Generation. Diese Technik verwendet Anwendung, die statische HTML -Seiten erstellt, und dann werden diese Dateien an den Server gesendet. Die Dateigenerierung kann beispielsweise auf völlig anderem Computer mit verwendet werden kontinuierliche Lieferung. Beispiel für SSG -Tools sind Jekyll, Gatsby oder ELEDY. Diese Websites werden oft veranstaltet Netlify oder GitHub Seiten. Github unterstützt auch Jekyllll -Projekte, bei denen sie die Website automatisch erstellt, wenn Änderungen hinzugefügt werden Git.
Sprachen
Es gibt eine Reihe von serverseitigen Skriptsprachen, einschließlich:
- ActiveVFP (*.AVFP)
- ASP (*.asp)
- ASP.NET -Webformulare (*.aspx)
- ASP.NET -Webseiten ( *.cshtml, *.vbhtml)
- Coldfusion Markup Sprache (*.cfm)
- gehen (*.gehen)
- Google Apps Skript (*.gs)
- Hacken (*.php)
- Haskell (*.hs) (Beispiel: Yesod)
- Java ( *.jsp, *.do) via Javaserverseiten
- JavaScript Verwendung Serverseitig JavaScript ( *.ssjs, *.js) (Beispiel: Node.js)
- Lasso (*.Lasso)
- Lua ( *.lp *.op *.lua)
- Parser (*.p)
- Perl über die Cgi.pm Modul ( *.cgi, *.ipl, *.pl)
- Php ( *.php, *.php3, *.php4, *.phtml)
- Python (*.py) (Beispiele: Pyramide, Flasche, Django)
- R (*.rhtml)
- Rubin ( *.rb, *.rbw) (Beispiel: Rubin auf Schienen)
- Tcl (*.tcl)
- WebDNA (*.dna,*. tpl)
- Fortschritt Webspeed (*.r,*. W)
Siehe auch
- Client-Seite Scripting
- Content -Management -System (CMS)
- Kantenseite beinhaltet
- JSP
- Node.js
- Weiter.js
- Übersicht über Webdesign und Webentwicklung
- Perl/Plack
- Php
- Die Serverseite enthält (SSI)
- Web Entwicklung
Verweise
- ^ "Server-Seite JavaScript-Handbuch".Netscape Communications Corporation.1998. Abgerufen 2012-04-25.
- ^ Mike Morgan (1996). "Netscape ™ LiveWire ™, Special Edition". Que.