Frage von darki94, 43

Dynamisches HTML Unterschied PHP/Javascript?

Hallo, ich muss mich für meine IHK Abschlussprüfung ein bisschen mit Websites, html, javascript, php usw. auseinandersetzten. Es gibt also statisches HTML, wo nur html und css verwendet wird. Dies ist Sicher aber wenig hübsch und ohne große Funktionen. Dann gibt es dynamisches HTML, wo durch die Einbindung von javascript und php weitere Funktionen implementiert werden. Dynamische Elemente, die nicht direkt beim http request übermittelt werden, sondern dynamisch zur Laufzeit erzeugt werden können (So weit alles richtig?). Jetzt frage ich mich, wo genau php und wo javascript eingesetzt wird. Ich stelle mir das so vor, dass für Menüs, interaktive Elemente usw. wo kein Code/Dateien vom Server nachgeladen werden müssen js verwendet wird. Und für Elemente die vom Webserver (per CGI) verarbeitet werden und eine Interaktion dessen also z.B. das nachladen von Dateien erfordert, php verwendet wird. Ist das (grundlegend so korrekt? Oder wo ist da der genaue Unterschied?

Antwort
von zalto, 20

Ich würde die Trennung nicht an funktionalen Aspekten festmachen, sondern nur am Kriterium "Was spielt sich auf dem Client ab? Was auf dem Server?"

Der Client (Webbrowser) versteht HTML, CSS und Javascript. Damit kann man komplette, interaktive Anwendungen schreiben, die lokal ablaufen. Im Internet Explorer gab es mal die "HTML-Applikationen", sie haben sich aber nicht durchgesetzt. Denn zwei zentrale Probleme aller lokalen Desktop-Anwendungen werden dadurch nicht gelöst: 1. Wie kommt die Anwendung (und Updates davon) überhaupt auf den lokalen Rechner? 2. Wie erreiche ich eine zentrale Datenhaltung, ohne Datenbankzugriffs-Software auf die Clients auszurollen und zu konfigurieren?

Die Antwort ist der Webserver: 1. wird gelöst, indem die Anwendung zentral dort liegt und vor der Benutzung zum Client (Webbrowser) gesendet wird. 2. wird gelöst, indem man die Kommunikation mit der Datenbank auf den Webserver verlagert.

Serverseitige Programmierung (z.B. mit PHP) kommt dann ins Spiel, wenn der Server keine statischen, sondern zur Laufzeit auf dem Server errechnete oder ermittelte Daten an den Client senden soll. Das kann so aussehen, dass der Webserver einfach HTML zum Client sendet. Manchmal braucht man aber auch komplexere Sachen, wo sich quasi ein Zwiegespräch zwischen Client und Server entspannen soll. Dafür nimmt man dann gerne wieder Javascript auf dem Client und dazu passende serverseitige Programmierung.

Wenn PHP läuft, dann nie auf dem Client, immer auf dem Server. Auch wenn eine Webseite die Endung ".php" haben sollte - das heißt nicht, dass der Browser PHP interpretieren könnte.

Javascript lief dagegen ursprünglich nur auf dem Client. Das hat sich inzwischen geändert, es gibt auch Webserver, die mit Javascript arbeiten.

Antwort
von stielaugen, 29

Grundsätzlich kann man sagen das HTML Scripte auf dem Client ausgeführt werden, PHP Scripte auf dem Server.
Ob man das so immer aufsplitten kann wie von Dir beschrieben, kann ich jetzt nicht nachvollziehen. Ich verwende zB auch kein Javascript um die Ausführung von Webseiten auf möglichst vielen Browsern funktionsfähig zu halten.

Antwort
von mastema666, 36

Mal ganz grob zusammengefasst:

PHP benutzt man z.B. überall wo man auf Datenbanken zugreifen will, Login-Systeme realisieren, "includes" benutzt werden (damit man z.B. nicht auf jeder Unterseite manuell ein Menü einfügen muss, und entsprechend bei Änderungen auch auf jeder anpassen) etc, also im Grunde alles, was Serverseitig ausgeführt wird.

JavaScript dagegen wird nicht vom Server sondern vom Browser ausgeführt und daher für clientseitige Funktionen genutzt, z.B. Manipulationen von DOM Objekten (verschieben / verändern von Teilen einer Webseite ohne diese neu laden zu müssen) und ähnliches.

Zusätzlich gibt es dann noch Ajax, welches im Grunde beide Techniken kombiniert indem innerhalb des JavaScript ein HTTP Request ausgeführt wird, durch den Informationen mit Hilfe von PHP (oder einer anderen Serverseitigen Sprache) z.B. aus einer DB geholt oder andere Serverseitige Aktionen durchgeführt werden, ohne dass die eigentliche Seite neu geladen werden muss.

Kommentar von perhp ,

JavaScript könnte man jetzt auch serverseitig machen zB. mit Hilfe von node.js, deswegen würde ich die Trennung zwischen JS und PHP nicht mehr so hart trennen. Aber früher war es eindeutig so.

Antwort
von fluffiknuffi2, 24

Dann gibt es dynamisches HTML, wo durch die Einbindung von javascript und php weitere Funktionen implementiert werden. 

Also irgendwas stimmt mit deiner Idee/Abgrenzung von dynamisch und statisch nicht so recht.

"Dynamisches HTML" ist jedenfalls laut https://de.wikipedia.org/wiki/Dynamisches_HTML im Wesentlichen HTML + JavaScript.

Keine passende Antwort gefunden?

Fragen Sie die Community