<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=Webservices_und_Client_Server_Konzepte</id>
	<title>Webservices und Client Server Konzepte - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=Webservices_und_Client_Server_Konzepte"/>
	<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;action=history"/>
	<updated>2026-04-14T20:59:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CCWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1586&amp;oldid=prev</id>
		<title>Drlue: /* Mögliche Implementierung */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1586&amp;oldid=prev"/>
		<updated>2021-02-23T17:11:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Mögliche Implementierung&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 23. Februar 2021, 17:11 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l149&quot;&gt;Zeile 149:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 149:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine Rechenauslastung auf Seiten des Servers findet jedoch nicht statt. Der &amp;#039;&amp;#039;&amp;#039;Body&amp;#039;&amp;#039;&amp;#039; der Antwort muss bei jeder Antwort erstellt werden um den &amp;#039;&amp;#039;&amp;#039;ETag&amp;#039;&amp;#039;&amp;#039; zu generieren. Das bedeutet, der Server muss trotzdem Anfragen an die Datenbank stellen bzw. alle nötigen Berechnungen ausführen um die Antwort zu erstellen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine Rechenauslastung auf Seiten des Servers findet jedoch nicht statt. Der &amp;#039;&amp;#039;&amp;#039;Body&amp;#039;&amp;#039;&amp;#039; der Antwort muss bei jeder Antwort erstellt werden um den &amp;#039;&amp;#039;&amp;#039;ETag&amp;#039;&amp;#039;&amp;#039; zu generieren. Das bedeutet, der Server muss trotzdem Anfragen an die Datenbank stellen bzw. alle nötigen Berechnungen ausführen um die Antwort zu erstellen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters ist das Bilden der Hashsumme, vorallem wenn es sich um größere Datenmengen handelt, eine rechenintensive Operation. Ändern sich die Daten regelmäßig, so könnte man sich das bilden der &#039;&#039;&#039;Hashsumme&#039;&#039;&#039; und den daraus resultierenden Mehraufwand, sparen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters ist das Bilden der &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Hashsumme&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;, vorallem wenn es sich um größere Datenmengen handelt, eine rechenintensive Operation. Ändern sich die Daten regelmäßig, so könnte man sich das bilden der &#039;&#039;&#039;Hashsumme&#039;&#039;&#039; und den daraus resultierenden Mehraufwand, sparen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Zustandslosigkeit ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Zustandslosigkeit ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key maturawiki:diff:1.41:old-1585:rev-1586:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1585&amp;oldid=prev</id>
		<title>Drlue: /* Caching */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1585&amp;oldid=prev"/>
		<updated>2021-02-23T17:10:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Caching&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 23. Februar 2021, 17:10 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Zeile 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Caching&amp;#039;&amp;#039;&amp;#039; soll implementiert werden. &amp;#039;&amp;#039;&amp;#039;Wobei jede Anfrage die nicht gestellt werden muss, die beste ist.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Caching&amp;#039;&amp;#039;&amp;#039; soll implementiert werden. &amp;#039;&amp;#039;&amp;#039;Wobei jede Anfrage die nicht gestellt werden muss, die beste ist.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Klären wir zuerst den Begriff des &amp;#039;&amp;#039;&amp;#039;Cachings&amp;#039;&amp;#039;&amp;#039;. Dieses Konzept gilt natürlich in vielen Bereichen der Informatik, wir erklären den Begriff anhand des Zugriffs auf eine &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039;. Eine &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039; wird geholt, zu einem späteren Zeitpunkt wird diese &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039; erneut geholt. Hat sich diese nicht verändert, so soll sie nicht erneut übertragen werden, sondern aus dem Zwischenspeicher der Anwendung abgerufen werden.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Klären wir zuerst den Begriff des &amp;#039;&amp;#039;&amp;#039;Cachings&amp;#039;&amp;#039;&amp;#039;. Dieses Konzept gilt natürlich in vielen Bereichen der Informatik, wir erklären den Begriff anhand des Zugriffs auf eine &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039;. Eine &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039; wird geholt, zu einem späteren Zeitpunkt wird diese &amp;#039;&amp;#039;&amp;#039;Ressource&amp;#039;&amp;#039;&amp;#039; erneut geholt. Hat sich diese nicht verändert, so soll sie nicht erneut übertragen werden, sondern aus dem Zwischenspeicher der Anwendung abgerufen werden.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Durch Caching bei Webanwendungen soll die Übertragung von Daten über das Internet reduziert werden.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Durch &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Caching&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;bei Webanwendungen soll die Übertragung von Daten über das Internet reduziert werden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In folgender Tabelle wird die Funktionsweise von &amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Caching&amp;#039;&amp;#039;&amp;#039; mittels &amp;#039;&amp;#039;&amp;#039;ETag&amp;#039;&amp;#039;&amp;#039; beschrieben. Man beachte, die {{AL|HTTP}} Anfragen sind &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; vollständig und beschränken sich auf die fürs &amp;#039;&amp;#039;&amp;#039;Caching&amp;#039;&amp;#039;&amp;#039; wesentlichen {{AL|HTTP|HTTP Header}}.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In folgender Tabelle wird die Funktionsweise von &amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Caching&amp;#039;&amp;#039;&amp;#039; mittels &amp;#039;&amp;#039;&amp;#039;ETag&amp;#039;&amp;#039;&amp;#039; beschrieben. Man beachte, die {{AL|HTTP}} Anfragen sind &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; vollständig und beschränken sich auf die fürs &amp;#039;&amp;#039;&amp;#039;Caching&amp;#039;&amp;#039;&amp;#039; wesentlichen {{AL|HTTP|HTTP Header}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1511&amp;oldid=prev</id>
		<title>Drlue: /* Lösung über Session und Cookie */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1511&amp;oldid=prev"/>
		<updated>2021-02-15T10:28:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Lösung über Session und Cookie&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 10:28 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l231&quot;&gt;Zeile 231:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 231:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nach der Authentifizierung sendet der Server mittels des Response Headers &amp;#039;&amp;#039;&amp;#039;Set-Cookie&amp;#039;&amp;#039;&amp;#039; ein &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; mit und erstellt somit eine &amp;#039;&amp;#039;&amp;#039;Session (Sitzung)&amp;#039;&amp;#039;&amp;#039;. Das &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; wird auf Serverseite verschlüsselt und kann &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; durch den Client entschlüsselt und die Daten im Klartext gelesen werden. Es enthält einen &amp;#039;&amp;#039;&amp;#039;Session Identifier&amp;#039;&amp;#039;&amp;#039; welcher eine Zuordnung zur &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; am Server dient. Die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; am Server kann alle möglichen Informationen enthalten, die der Identifikation des Benutzers dient (z.B.: ID). Der Client (z.B.: Browser) verwendet nun dieses &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; bei jedem Request und sendet es im Header &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; mit. Um die Zuordnung zu gewährleisten muss der Server die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; selbst speichern, dies kann aber beispielsweise auch über eine Datenbankanbindung realisiert werden, somit haben mehrere Anwendungsserver die Möglichkeit eine &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; zuzuordnen und zu verifizieren.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nach der Authentifizierung sendet der Server mittels des Response Headers &amp;#039;&amp;#039;&amp;#039;Set-Cookie&amp;#039;&amp;#039;&amp;#039; ein &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; mit und erstellt somit eine &amp;#039;&amp;#039;&amp;#039;Session (Sitzung)&amp;#039;&amp;#039;&amp;#039;. Das &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; wird auf Serverseite verschlüsselt und kann &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; durch den Client entschlüsselt und die Daten im Klartext gelesen werden. Es enthält einen &amp;#039;&amp;#039;&amp;#039;Session Identifier&amp;#039;&amp;#039;&amp;#039; welcher eine Zuordnung zur &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; am Server dient. Die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; am Server kann alle möglichen Informationen enthalten, die der Identifikation des Benutzers dient (z.B.: ID). Der Client (z.B.: Browser) verwendet nun dieses &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; bei jedem Request und sendet es im Header &amp;#039;&amp;#039;&amp;#039;Cookie&amp;#039;&amp;#039;&amp;#039; mit. Um die Zuordnung zu gewährleisten muss der Server die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; selbst speichern, dies kann aber beispielsweise auch über eine Datenbankanbindung realisiert werden, somit haben mehrere Anwendungsserver die Möglichkeit eine &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; zuzuordnen und zu verifizieren.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters hat eine &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; eine gewisse Gültigkeitsdauer. Wird die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; über eine längere Zeit nicht verwendet, so verliert diese ihre Gültigkeit.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters hat eine &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; eine gewisse Gültigkeitsdauer. Wird die &amp;#039;&amp;#039;&amp;#039;Session&amp;#039;&amp;#039;&amp;#039; über eine längere Zeit nicht verwendet, so verliert diese ihre Gültigkeit.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Somit handelt es sich &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hier &lt;/del&gt;um eine &#039;&#039;&#039;stateful Authentication&#039;&#039;&#039; da Daten auf dem Server gespeichert werden müssen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Somit handelt es sich &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hierbei &lt;/ins&gt;um eine &#039;&#039;&#039;stateful Authentication&#039;&#039;&#039; da Daten auf dem Server gespeichert werden müssen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Token basierte Authentifizierung =====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Token basierte Authentifizierung =====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1510&amp;oldid=prev</id>
		<title>Drlue: /* Mögliche komplett zustandslose Lösungen */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1510&amp;oldid=prev"/>
		<updated>2021-02-15T08:43:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Mögliche komplett zustandslose Lösungen&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:43 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot;&gt;Zeile 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der &amp;#039;&amp;#039;&amp;#039;Zustandslosigkeit&amp;#039;&amp;#039;&amp;#039;, stellt die &amp;#039;&amp;#039;&amp;#039;Authentifizierung&amp;#039;&amp;#039;&amp;#039; dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der &amp;#039;&amp;#039;&amp;#039;Zustandslosigkeit&amp;#039;&amp;#039;&amp;#039;, stellt die &amp;#039;&amp;#039;&amp;#039;Authentifizierung&amp;#039;&amp;#039;&amp;#039; dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &#039;&#039;&#039;Basic Auth&#039;&#039;&#039;. Im &#039;&#039;&#039;{{AL|HTTP}} Header Authorization&#039;&#039;&#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/del&gt;getrennt und &#039;&#039;&#039;Base64&#039;&#039;&#039; codiert. ([https://www.base64encode.org/ Base64 encodieren], [https://www.base64decode.org/ Base 64 Decodieren])&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &#039;&#039;&#039;Basic Auth&#039;&#039;&#039;. Im &#039;&#039;&#039;{{AL|HTTP}} Header Authorization&#039;&#039;&#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{JSL|&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}} &lt;/ins&gt;getrennt und &#039;&#039;&#039;Base64&#039;&#039;&#039; codiert. ([https://www.base64encode.org/ Base64 encodieren], [https://www.base64decode.org/ Base 64 Decodieren])&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Benutzername:&amp;#039;&amp;#039;&amp;#039; Luke&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Benutzername:&amp;#039;&amp;#039;&amp;#039; Luke&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Passwort:&amp;#039;&amp;#039;&amp;#039; Luki&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Passwort:&amp;#039;&amp;#039;&amp;#039; Luki&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l169&quot;&gt;Zeile 169:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hierbei handelt es sich nun um eine &amp;#039;&amp;#039;&amp;#039;zustandslose Authentifizierung&amp;#039;&amp;#039;&amp;#039;, da die komplette Anmeldeinformation bei jedem &amp;#039;&amp;#039;&amp;#039;Request&amp;#039;&amp;#039;&amp;#039; mitgesendet wird. Dadurch muss der Server natürlich auch bei jedem &amp;#039;&amp;#039;&amp;#039;Request&amp;#039;&amp;#039;&amp;#039; eine Überprüfung der Zugangsdaten vornehmen.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hierbei handelt es sich nun um eine &amp;#039;&amp;#039;&amp;#039;zustandslose Authentifizierung&amp;#039;&amp;#039;&amp;#039;, da die komplette Anmeldeinformation bei jedem &amp;#039;&amp;#039;&amp;#039;Request&amp;#039;&amp;#039;&amp;#039; mitgesendet wird. Dadurch muss der Server natürlich auch bei jedem &amp;#039;&amp;#039;&amp;#039;Request&amp;#039;&amp;#039;&amp;#039; eine Überprüfung der Zugangsdaten vornehmen.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die &#039;&#039;&#039;Basic Authentifizierung&#039;&#039;&#039; wird normalerweise nicht bei einem initialen Request an den Server gesendet. Jedoch kann sich der Client die Authentifizierungsmethode merken, und bei späteren Requests immer die &#039;&#039;&#039;Basic Authentifizierung&#039;&#039;&#039; mitsenden. Der Standardablauf verhält sich in etwa wie folgt&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die &#039;&#039;&#039;Basic Authentifizierung&#039;&#039;&#039; wird normalerweise nicht bei einem initialen Request an den Server gesendet. Jedoch kann sich der Client die Authentifizierungsmethode merken, und bei späteren Requests immer die &#039;&#039;&#039;Basic Authentifizierung&#039;&#039;&#039; mitsenden. Der Standardablauf verhält sich in etwa wie folgt:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1509&amp;oldid=prev</id>
		<title>Drlue: /* Probleme bei der Zustandslosigkeit */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1509&amp;oldid=prev"/>
		<updated>2021-02-15T08:43:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Probleme bei der Zustandslosigkeit&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:43 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot;&gt;Zeile 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der &amp;#039;&amp;#039;&amp;#039;Zustandslosigkeit&amp;#039;&amp;#039;&amp;#039;, stellt die &amp;#039;&amp;#039;&amp;#039;Authentifizierung&amp;#039;&amp;#039;&amp;#039; dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der &amp;#039;&amp;#039;&amp;#039;Zustandslosigkeit&amp;#039;&amp;#039;&amp;#039;, stellt die &amp;#039;&amp;#039;&amp;#039;Authentifizierung&amp;#039;&amp;#039;&amp;#039; dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &#039;&#039;&#039;Basic Auth&#039;&#039;&#039;. Im &#039;&#039;&#039;{{AL|HTTP}} Header Authorization&#039;&#039;&#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &#039;&#039;&#039;:&#039;&#039;&#039; getrennt und &#039;&#039;&#039;Base64&#039;&#039;&#039; ([https://www.base64encode.org/ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Encodieren&lt;/del&gt;], [https://www.base64decode.org/ Decodieren]) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;codiert.&lt;/del&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &#039;&#039;&#039;Basic Auth&#039;&#039;&#039;. Im &#039;&#039;&#039;{{AL|HTTP}} Header Authorization&#039;&#039;&#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &#039;&#039;&#039;:&#039;&#039;&#039; getrennt und &#039;&#039;&#039;Base64&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;codiert. &lt;/ins&gt;([https://www.base64encode.org/ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Base64 encodieren&lt;/ins&gt;], [https://www.base64decode.org/ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Base 64 &lt;/ins&gt;Decodieren])&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Benutzername:&amp;#039;&amp;#039;&amp;#039; Luke&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Benutzername:&amp;#039;&amp;#039;&amp;#039; Luke&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Passwort:&amp;#039;&amp;#039;&amp;#039; Luki&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;Passwort:&amp;#039;&amp;#039;&amp;#039; Luki&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1508&amp;oldid=prev</id>
		<title>Drlue: /* Probleme bei der Zustandslosigkeit */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1508&amp;oldid=prev"/>
		<updated>2021-02-15T08:42:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Probleme bei der Zustandslosigkeit&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:42 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l156&quot;&gt;Zeile 156:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 156:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Probleme bei der Zustandslosigkeit ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Probleme bei der Zustandslosigkeit ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der Zustandslosigkeit, stellt die Authentifizierung dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Problem bei der Anforderung der &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Zustandslosigkeit&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;, stellt die &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Authentifizierung&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;dar. Somit müsste der Client bei jeder Anfrage an den Webservice die kompletten Anmeldeinformationen mitsenden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Mögliche komplett zustandslose Lösungen =====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &amp;#039;&amp;#039;&amp;#039;Basic Auth&amp;#039;&amp;#039;&amp;#039;. Im &amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Header Authorization&amp;#039;&amp;#039;&amp;#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039; getrennt und &amp;#039;&amp;#039;&amp;#039;Base64&amp;#039;&amp;#039;&amp;#039; ([https://www.base64encode.org/ Encodieren], [https://www.base64decode.org/ Decodieren]) codiert.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eine mögliche Variante für eine komplett zustandslose Authentifizierung bietet &amp;#039;&amp;#039;&amp;#039;Basic Auth&amp;#039;&amp;#039;&amp;#039;. Im &amp;#039;&amp;#039;&amp;#039;{{AL|HTTP}} Header Authorization&amp;#039;&amp;#039;&amp;#039; wird der Benutzername und das Passwort mitgesendet. Der Benutzername und das Passwort werden mit einem &amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039; getrennt und &amp;#039;&amp;#039;&amp;#039;Base64&amp;#039;&amp;#039;&amp;#039; ([https://www.base64encode.org/ Encodieren], [https://www.base64decode.org/ Decodieren]) codiert.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l168&quot;&gt;Zeile 168:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 168:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Authorization: Basic THVrZTpMdWtp&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Authorization: Basic THVrZTpMdWtp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hierbei handelt es sich nun um eine zustandslose Authentifizierung, da die komplette Anmeldeinformation bei jedem &#039;&#039;&#039;Request&#039;&#039;&#039; mitgesendet wird. Dadurch muss der Server natürlich auch bei jedem &#039;&#039;&#039;Request&#039;&#039;&#039; eine Überprüfung der Zugangsdaten vornehmen.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hierbei handelt es sich nun um eine &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;zustandslose Authentifizierung&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;, da die komplette Anmeldeinformation bei jedem &#039;&#039;&#039;Request&#039;&#039;&#039; mitgesendet wird. Dadurch muss der Server natürlich auch bei jedem &#039;&#039;&#039;Request&#039;&#039;&#039; eine Überprüfung der Zugangsdaten vornehmen.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Basic Authentifizierung&amp;#039;&amp;#039;&amp;#039; wird normalerweise nicht bei einem initialen Request an den Server gesendet. Jedoch kann sich der Client die Authentifizierungsmethode merken, und bei späteren Requests immer die &amp;#039;&amp;#039;&amp;#039;Basic Authentifizierung&amp;#039;&amp;#039;&amp;#039; mitsenden. Der Standardablauf verhält sich in etwa wie folgt. :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Basic Authentifizierung&amp;#039;&amp;#039;&amp;#039; wird normalerweise nicht bei einem initialen Request an den Server gesendet. Jedoch kann sich der Client die Authentifizierungsmethode merken, und bei späteren Requests immer die &amp;#039;&amp;#039;&amp;#039;Basic Authentifizierung&amp;#039;&amp;#039;&amp;#039; mitsenden. Der Standardablauf verhält sich in etwa wie folgt. :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1506&amp;oldid=prev</id>
		<title>Drlue: /* Einheitliche Schnittstelle */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1506&amp;oldid=prev"/>
		<updated>2021-02-15T08:40:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einheitliche Schnittstelle&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:40 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Zeile 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&amp;lt;br&amp;gt;Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&amp;lt;br&amp;gt;&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Eine wichtige Anmerkung:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&amp;lt;br&amp;gt;&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1505&amp;oldid=prev</id>
		<title>Drlue: /* Einheitliche Schnittstelle */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1505&amp;oldid=prev"/>
		<updated>2021-02-15T08:40:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einheitliche Schnittstelle&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:40 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Zeile 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039; Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1504&amp;oldid=prev</id>
		<title>Drlue: /* Einheitliche Schnittstelle */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1504&amp;oldid=prev"/>
		<updated>2021-02-15T08:40:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einheitliche Schnittstelle&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:40 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Zeile 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039; &lt;/ins&gt;Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;!!!ATTENTION!!!&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1503&amp;oldid=prev</id>
		<title>Drlue: /* Einheitliche Schnittstelle */</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=Webservices_und_Client_Server_Konzepte&amp;diff=1503&amp;oldid=prev"/>
		<updated>2021-02-15T08:39:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einheitliche Schnittstelle&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 15. Februar 2021, 08:39 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Zeile 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| POST || https://webservice.drlue.at/customer || Anlegen eines neuen Benutzers, die Benutzerdaten müssen mitgesendet werden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Eine wichtige Anmerkung: Um eine Ressource nur in Teilen zu verändern sollte die &#039;&#039;&#039;Methode PATCH&#039;&#039;&#039; verwendet werden. Die &#039;&#039;&#039;PUT Methode&#039;&#039;&#039; ist zum Ersetzen einer bestehenden Ressource, also komplett ersetzen. Da wir das aber immer über &#039;&#039;&#039;PUT&#039;&#039;&#039; gemacht haben, lassen wirs dabei, halb so wild.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Weiters soll die Repräsentation der Ressourcen unabhängig von deren eigentlicher Repräsenation z.B.: auf der Datenbank sein. Der Webservice soll es ermöglichen, die Repräsenation auszuwählen. Eine Webseite fordert die Daten beispielsweise als {{AL|HTML}}, ein Android Client als {{AL|Json}} an. Das Angeforderte Format wird über den &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Accept&amp;#039;&amp;#039;&amp;#039; Header mittels eines &amp;#039;&amp;#039;&amp;#039;MIME-Type&amp;#039;&amp;#039;&amp;#039; festgelegt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
</feed>