| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung |
| ksk_ef:web:apps:apis [2024-08-11 09:54] – hof | ksk_ef:web:apps:apis [2026-06-24 11:02] (aktuell) – [Cookies] hof |
|---|
| ### HTTP | ### HTTP |
| Das HyperText Transfer Protocol dient der Übertragung von Informationen zwischen Server und Client (Browser). Bisher haben wir ausschliesslich ganze Dateien (`tictactoe.html`, `tictactoe.css`, `tictactoe.js`) übertragen, aber HTTP kann noch mehr. Wir schauen uns an, was passiert, wenn wir auf unsere Webapp zugreifen. In den DevTools zeigen wir den ''Network'' Tab, wo die Folge der HTTP Requests angezeigt werden. | Das HyperText Transfer Protocol dient der Übertragung von Informationen zwischen Server und Client (Browser). Bisher haben wir ausschliesslich ganze Dateien (`tictactoe.html`, `tictactoe.css`, `tictactoe.js`) übertragen, aber HTTP kann noch mehr. Wir schauen uns an, was passiert, wenn wir auf unsere Webapp zugreifen. In den DevTools zeigen wir den ''Network'' Tab, wo die Folge der HTTP Requests angezeigt werden. |
| |
| #### Request & Response | #### Request & Response |
| {{ :ef_informatik:http_404.jpg?nolink&500|}} | {{ :ef_informatik:http_404.jpg?nolink&500|}} |
| |
| {{ :ef_informatik:http_200.jpg?nolink&500|}} | {{ :ef_informatik:http_200.jpg?nolink&500|}} |
| Der Server antwortet mit einem //[[https://de.wikipedia.org/wiki/HTTP-Statuscode|Response Code]]// und zusätzlichen Informationen, zum Beispiel der angeforderten Ressource. Die wichtigsten Codes sind: | Der Server antwortet mit einem //[[https://de.wikipedia.org/wiki/HTTP-Statuscode|Status Code]]// und zusätzlichen Informationen, zum Beispiel der angeforderten Ressource. Die wichtigsten Codes sind: |
| * **200** (OK): Anfrage ist erfolgreich, die Ressource ist im Response Body enthalten. | * **200** (OK): Anfrage ist erfolgreich, die Ressource ist im Response Body enthalten. |
| * **304** (UNMODIFIED): Anfrage ist in Ordnung, die Ressource ist unverändert und wird darum nicht zurückgegeben (Nur bei GET, nicht bei POST) | * **304** (UNMODIFIED): Anfrage ist in Ordnung, die Ressource ist unverändert und wird darum nicht zurückgegeben (Nur bei GET, nicht bei POST) |
| * **404** (NOT FOUND): Die Ressource wurde nicht gefunden. | * **404** (NOT FOUND): Die Ressource wurde nicht gefunden. |
| |
| #### Cookies | #### Cookies |
| Zusätzlich kann der Server noch **Cookies** mitliefern, die der Browser speichert und beim nächsten Request an den gleichen Server im Request mitgeliefert werden. | Zusätzlich kann der Server noch **Cookies** mitliefern, die der Browser speichert und beim nächsten Request an den gleichen Server im Request mitgeliefert werden. |
| |
| //Session-Cookies// leben nur, solange das Browser-Fenster offen ist und sind in der Regel unproblematisch. Long-lived cookies können über Jahre installiert bleiben und bei jedem Seitenbesuch erneuert werden. Sie werden zum Teil benützt, um Benutzer über Webseiten hinweg zu verfolgen, und haben zur ganzen Diskussion um Cookies geführt. Um den Benutzer zu identifizieren (zum Beispiel nach erfolgreichem Login) sind sie aber unverzichtbar. | //Session-Cookies// leben nur, solange das Browser-Fenster offen ist und sind in der Regel unproblematisch. Long-lived cookies können über Jahre installiert bleiben und bei jedem Seitenbesuch erneuert werden. Sie werden zum Teil benützt, um Benutzer über Webseiten hinweg zu verfolgen, und haben zur ganzen Diskussion um Cookies geführt. Um den Benutzer zu identifizieren (zum Beispiel nach erfolgreichem Login) werden nur Session-Cookies benötigt, sind dafür aber unverzichtbar. |
| |
| ### Javascript Fetch | ### Javascript Fetch |