7. August 2018
Aufgabe 9
[8 Punkte]
Angenommen, wir haben folgendes Formular, das per GET Request von der URL http://www.klausur.de geholt wurde.
<form>
<input name="a">
<input name="b">
<button type="submit">OK</button>
</form>
Wir tragen im ersten Textfeld ”Hurra” und im zweiten Textfeld ”bestanden” ein. Welche
URL steht nach dem Absenden im Browserfenster (vorausgesetzt der Server antwortet mit
Statuscode 200)?
Weil der Default für das action Attribut die aktuelle Dokument-URL ist. Was du meinst, ist nicht "action", sondern "method". Und da ist der Default GET.
Habe die Seite mit dem Formular nicht aufgerufen, aber das "form.html" könnte noch falsch sein.
Möglich wäre auch http://www.klausur.de/?a=Hurra&b=bestanden oder http://www.klausur.de?a=Hurra&b=bestanden,
nicht schön, aber selten.
Wieso erstellst du nicht einfach ein Textfile, tragst den Code dort ein, nennst es <WIEAUCHIMMERDUWILLST>.html und testest es in deinem Browser. Ah genau, das wäre ja mit Eigeninitiative verbunden, stattdessen eröffnest wieder im Forum einen Thread. Hast du nicht eigentlich hingeschmissen?
Was verändert sich denn aus HTML Sicht, wenn du da noch die Attribute value bei input setzt?
Und wie verändert das denn die URL, welche beim Submit aufgerufen wird (unter Beachtung der Aufgabenstellung!)?
Und es ist ja nicht so, dass man durch Ausprobieren die Antwort sehr schnell finden könnte. Durch das Lesen von geeigneten Unterlagen und ausprobieren könnte man Wissen erlangen und mit diesem dann Fragen in der Art beantworten, was dann sehr hilfreich für eine möglicherweise notwendige Klausur sein könnte.
Habe die Seite mit dem Formular nicht aufgerufen, aber das "form.html" könnte noch falsch sein.
Möglich wäre auch http://www.klausur.de/?a=Hurra&b=bestanden oder http://www.klausur.de?a=Hurra&b=bestanden,
nicht schön, aber selten.
Also dazu würde ich auch tendieren. Woher soll das form.html auch kommen? Der Client kennt das ja nicht. Der Client hat die URL http://www.klausur.de/ aufgerufen und daher wird da dann nur noch der Inhalt der Felder kodiert angehängt.
Bezüglich des "/" vor dem ?:
Nach meinem Verständnis der RFC 3986 (https://tools.ietf.org/html/rfc3986#section-3.3) ist beides eine gültige URL und es kann daher von Browser zu Browser unterschiedlich sein. (Chrome baut URLs aber mit dem / also bei Chrome würde [/code]http://www.klausur.de/?a=Hurra&b=bestanden[/icode] aufrufen.)
Aber evtl. gibt es noch eine weitere Quelle, die bestimmt, dass die Version ohne / falsch ist (Oder evtl. auch die zweite und Chrome verhält sich nicht entsprechend der Standards - das kann ich natürlich auch nicht ausschließen).
@Heyoka955 Ich könnte mir vorstellen, das Du irgendwann im 5. Semester bist und Du dann aufgefordert wirst, Öffnen Sie mal den Terminal/Konsole und wechseln Sie in das Unterverzeichnis ab/cd/de ... und du daraufhin nur sagst: "Hey yo KA" ...
(Sorry, das war jetzt ein gemeines Beispiel... Aber diese Aufgabe erarbeiten müsstest du eigentlich selbstständig können...)
"Normalerweise" sind _alle_ Parameter im HTTP-GET-Request-Body... D. h. diese sind für den Benutzer gar nicht ersichtlich. (Falls Du das damit meintest...)
Sie direkt in die URL/Adresse zu schreiben, ist nur eine weitere Möglichkeit, das zum Server zu bringen.
So etwas wie einen HTTP GET Request Body gibt es nicht.
Einen Body hat z.B. die POST Methode, aber nicht GET.
Deswegen stehen die Parameter (als einzige Möglichkeit) ja auch in der URL.
Das bezieht sich wohl auf diesen Thread. In dem Buch wird im ersten Kapitel anhand von Enten das Strategy-Pattern erklärt (zumindest in meiner alten Ausgabe).
Dann verstehe ich nicht, wieso ich von @Heyoka955 einen Like auf meine Vermutung bekomme und er nicht einfach selbst eine Richtigstellung/Erklärung/Link-auf-den-Thread geschrieben hat...
Dann verstehe ich nicht, wieso ich von @Heyoka955 einen Like auf meine Vermutung bekomme und er nicht einfach selbst eine Richtigstellung/Erklärung/Link-auf-den-Thread geschrieben hat...
Das bezieht sich wohl auf diesen Thread. In dem Buch wird im ersten Kapitel anhand von Enten das Strategy-Pattern erklärt (zumindest in meiner alten Ausgabe).
Dann verstehe ich nicht, wieso ich von @Heyoka955 einen Like auf meine Vermutung bekomme und er nicht einfach selbst eine Richtigstellung/Erklärung/Link-auf-den-Thread geschrieben hat...