Wie erfolgt die Zuordung von Requests zu Sitzungen beim Server ?
<2018-03-09>
Bei der Kommunikation zwischen Client und Server ist eine eindeutige Zuordnung der Meldungen notwendig. Cookies sind dafür nicht immer ausreichend und werden nicht verwendet.

Warum ist eine Zuordnung zu einer Server-Sitzung bei möglichst sämtlichen Requests nötig ?

Bei der Online-Nutzung einer openWIM -App wird der eine Teil der Mimik im Client (= Browser) und der andere Teil in der Cloud (= im Internet-Server) ausgeführt. Dazu ist eine verlässliche Kommunikation mit Zuordnung der ausgetauschten Meldungen zwischen den Beteiligten notwendig. Dazu wird im Server eine "Sitzung ("session") erzeugt, in der die Steuerung erfolgt und auf die alle Anforderungen des Clients abgebildet werden.

Um zu erreichen, dass möglichst wenige unerwünschte Zugriffe auf den Server Erfolg haben, ist es nützlich, nur solche Zugriffe inhaltlich zu beantworten, die im Kontext einer (erwünschten) aktiven Sitzung generiert werden. Datei-Zugriffe ohne Sitzungsbezug sollten möglichst vollständig geblockt werden - es sei denn, sie kommen von erwünschten Suchmaschinen-Robotern.

Welche hauptsächlichen Hürden für eine Sitzungs-Zuordnung können wie überwunden werden ?

Zu akzeptierende Zugriffe auf den Server können unter verschiedensten Bedingungen eintreffen:

  1. Der initiale Aufruf der App (resp. Internetpräsenz) erfolgt mittels eines http-"GET"-Aufrufs auf die Baisadresse der Domain plus ggf. der Angabe eines darzustellenden Objektes in der "Query" der Url oder als Angabe einer (Pseudo-)Datei (bzw. Dateipfades). Hier muss dann auf dem Server eine neue Sitzung eingerichtet werden. Die möglichst genaue Client-Adresse (IP-Adressen) und der angesprochene Service (Projekt und Client-Version) werden zur Sitzung notiert und die vom Server erzeugte Sitzungskennung (= sessionId) wird dem Client mitgeteilt.

  2. Der angesprochene Service kann auf verschiedene Art spezifiziert sein. Meist wird eine bestimmte Domain mit ggf. einer Subdomain (beispielsweise flughafen.unser-forum.de) angesprochen. Soll nicht die aktuelle "Produktionsversion" der Client-Software verwendet werden sondern beispielsweise eine Vorschau-Version, wird dieses in Form einer Subdomain angegeben. Beispielsweise preview.flughafen.unser-forum.de. Im Server wird anhand einer eindeutigen Zuordnung das adressierte Projekt bestimmt und zur Sitzung notiert.

  3. Bei allen zukünftigen Meldungen /Anforderungen des Clients an den Server ist im übertragenen (POST) Paket die Sitzungskennung anzugeben, damit eine eindeutige Zuordnung erfolgen kann.

    Damit sich jedoch keine "Unbefugte" in eine bestehende (möglicherweise mit Sonderberechtigungen versehene) Sitzung einklinken können, muss vom Server auch die möglichst exakte Herkunftsadresse mit den zur Sitzung notierten Angaben abgeglichen werden.

  4. Wenn sich beispielsweise in Folge einer nächtlichen Zwangstrennung vom Internet die IP-Adresse des Clients ändert, muss aus Sicherheitsgründen eine neue Sitzung begonnen werden, denn sonst könnte sich jemand eventuell in eine Sitzung reinmogeln.

  5. Bei Zugriffen auf Dateien im Kontext einer Sitzung können leider keine ausreichenden speziellen Identifizierungsdaten mitgeschickt werden. Zwar könnte ein Cookie-Eintrag mit der Sitzungskennung etwas Orientierung bieten, doch bei den Cookie-Daten wird nicht zwischen den Browser-Tabs unterschieden, sodass damit keine eindeutige Zuordnung erfolgen kann. Cookies sind daher defacto für die Sitzungs-Identifizierung unbrauchbar.

    Wenn jedoch der Zugriff auf Dateien des Servers über eine ausreichend spezifizierte Domainangabe erfolgt, ist unter Zuhilfenahme der immer mitgelieferten Client-Adressen und Browserkennung zumindest der verwendete Internetbrowser sauber identifizierbar. Leider aber nicht der Tab, über den der Request initiiert wurde.
    Sind mehrere Sitzungen für einen Browser aktiv, kann in diesem Fall die erste gefundene Sitzung, die dem Browser zuzuordnen ist, verwendet werden. Damit kann dann der Datei-Zugriff gestattet werden. Ist die dazu verwendete Sitzung privilegiert, die tatsächlich aber aufrufende Sitzung nicht, ergibt sich eine "Unsauberkeit", die jedoch nur in sehr speziellen Fällen relevant werden sollte.

  6. Wenn sich sowohl Client als auch Server außerhalb des Internets und seines Domain-Systems befinden und "lokal" ("localhost" etc.) adressiert werden, ist unter Umständen beim Aufruf einer Datei keine saubere Erkennung des aufgerufenen Services möglich. Jedenfalls dann, wenn der Server ursprünglich mit einer Url wie localhost:/?domain=openwim.org aufgerufen wurde. Beim Erstaufruf kann damit zwar noch eine neue Sitzung eingerichtet werden und bei weiteren POST-Aufrufen wird auch die Sitzungskennung übergeben, doch bei Dateiaufrufen fehlen ausreichende Daten zur Identifizierung der zuständigen Sitzung.

    Da dieses jedoch nur bei Zugriffen passieren sollte, die im lokalen Netzwerk und nicht über das Internet laufen, kann in diesen Fällen das Blockieren von Dateizugriffen entfallen.

    Sollen auch in einem lokalen Netzwerk Dateizugriffe ggf. abgeblockt werden, helfen dagegen beispielsweise geeignete Domain-Eintragungen in der hosts -Datei von Windows. Beispielsweise "develoment.openwim.testserver".

  7. Bei der Nutzung einer Internetpräsenz im Simple-Modus sind obenstehende Statements sinngemäß anzuwenden. Abweichend ist jedoch NICHT bei jedem GET-Request eine neue Sizung zu beginnen, sondern anhand des simple-mode -Parameters der Query die zugeordnete Sitzung zu ermitteln.
    Die Sitzungskennung wird NICHT bei den Query-Parametern angegeben, weil sie von den Suchmaschinen registriert und bei der Nutzung von Links der Suchmaschinen zu unerwünschten Effekten führen würde. (Der Parameterwert von simple-mode kann demgegenüber leicht als obsolet identifiziert werden und ungenutzt bleiben.)

Themen hierzuAssciated topics:

Konzepte + Strukturen Requests im WIM-System WIM-Features Gewünschte Features Darstellungen im WIM-System

Das könnte Sie auch interessierenFurther readings:
Was ist bei der Implementierung mehrsprachlicher Internetpräsenzen zu beachten?
Von: @VB <2016-10-03>
Wenn Informationssysteme für Nutzer in mehreren Sprachen betrieben werden sollen, sind bei der Implementation verschiedenste Aspekte zu beachten, die hier vorgestellt werden.   Mehr »
Spezifische Begriffe im openWIM-System
<2019-02-15>
Im openWIM-System werden verschiedene spezielle Begriffe verwendet. Hier wird deren Bedeutung im openWIM-Kontext erläutert.   Mehr »
Neues und Geändertes beim openWIM-System
<2019-02-03>
In diesem Artikel werden Neuigkeiten Änderungen zu Funktion und Aussehen des openWIM-Systems aufgelistet.   Mehr »
Wie ist die Requestbearbeitung auf den Servern strukturiert?
<2013-09-30>
Eine Hauptaufgabe der WIM-App (im Internetbrowser) ist es, die Objektdaten darzustellen. Dazu müssen diese (meist) beim Server beschafft und dargestellt werden. Hier werden die Verfahren zur Beschaffung und Aktualisierung für Software-Entwickler beschrieben.   Mehr »
Weiterentwicklung des openWIM-Systems
<2018-08-07>
Das openWIM-System wird seit 1999 ständig weiterentwickelt. Welche wesentlichen Verbesserungen zur Zeit anstehen, können Sie in diesem Artikel erfahren.   Mehr »
Welche Ziele werden mit dem openWIM -System verfolgt?
<2018-02-01>
Dieser Artikel soll eine Übersicht über die wichtigsten Ziele der Realisierung des openWIM-Systems vermitteln.   Mehr »
Aufbau einer Internetpräsenz mit dem WIM-System
<2013-08-04>
Mit dem WIM-System können kleine, überschaubare Internetpräsenzen leicht aufgebaut werden, aber auch sehr umfangreiche. Diese Info soll einen Überblick über den Aufbau des WIM-Systems und das Zusammenspiel seiner wichtigsten Komponenten geben.   Mehr »
WIM-Features und offene Wünsche aus Nutzersicht
Was bietet das WIM-System und was ist noch für mehr Zufriedenheit der Nutzer mit dem System zu tun ?
<2014-03-11>
Das WIM-System bietet für seine Nutzer verschiedenste Fähigkeiten. Aber es ist noch nicht "fertig" - und wird es wohl auch nie werden. In dieser Info sind vorhandene, unvollständige /unbefriedigende und geplante weitere Fähigkeiten sowie Meilensteine für die Realisierungsarbeiten aufgeführt.   Mehr »
Welche Aufgaben liegen für die Bearbeitung von Dokumenten an?
Von: @VB <2015-03-31>
Die Erstellung und Bearbeitung von Dokumenten ist eine der zentralen Aufgaben des openWIM. Hier werden die bekannten Unzulänglichkeiten, anliegende Aufgaben und mögliche Verbesserungen beschrieben.   Mehr »
Offene Wünsche von WIM-Admins und -Systemmanagern
Was ist zur Realisierung vorgemerkt oder in der Diskussion ?
<2013-08-19>
Das WIM-System ist noch nicht "fertig" - und wird es wohl auch nie werden. Welche Fehlerbeseitigungen und Features zur Bearbeitung anstehen und welche in der Diskussion sind, ist hier zu lesen.   Mehr »
➖ Nächste Schritte zur Ablösung des Legacy-Servers
<2019-05-06>
Die schnelle Ablösung des veralteten Servers ist momentan das vordringliche Ziel. In diesem Artikel werden die jeweils nächsten Aktionen aufgelistet.    Mehr »
Hinweise zur Nutzung dieser Internetpräsenz bzw. App
Von: @openWIM-Redaktion <2017-01-09>
Diese Internetpräsenz bzw. App wurde mit Hilfe des openWIM-Systems und bietet ein breites Spektrum an Nutzungsmöglichkeiten. Dieses Dokument soll Hinweise dafür geben, wie Sie die vielfältigen Möglichkeiten besser nutzen können.   Mehr »
Steuerung der Darstellung von Objekten
<2019-02-03>
Das openWIM-System bietet die Möglichkeit, die Darstellung von Themen, Dokumenten, usw. in weiten Teilen zu gestalten, ohne dass dazu Änderungen im Programmcode oder an (HTML-)Vorlagen nötig sind.   Mehr »
Thematischer Kontext und "Themenwolke" einer Sitzung
<2013-04-28>
Zu einer Projektseite wird stets der jeweils augenblicklich aktuelle thematische Kontext bestimmt und meist in einer "Themenwolke" dargestellt. Dieser thematische Kontext wird anhand der letzten Nutzer-Aktionen und auf Basis der thematischen Verknüpfungen ermittelt.   Mehr »
Internet-Links für openWIM-Entwickler
<2020-03-10>
In den Weiten des Internets gibt es etliche hilfreiche Internetpräsenzen und Dokumente, die für die Entwickler des openWIM-Systems hilfreich sein können. Hier sind einige aufgelistet:   Mehr »
Daten-Layer und -Aktualisierung
<2013-01-06>
Im WIM-System spielen "Vorlagen" eine bedeutende Rolle. Oftmals wird beim Zugriff auf einen Objekt-Parameter der Wert von einem Vorlage-Objekt geholt.   Mehr »
Welche Rolle spielen "Klassifikationen" im openWIM ?
Von: @VB <2015-03-05>
Die "Klassifikationen" eines Objektes haben vielfältigen Einfluss. Sie werden für die Zuordnungen von Sachrubriken, Zielgruppen und mehr eingesetzt.
   Mehr »
Angemeldete Nutzer im WIM-System
Wofür sind Nutzer-Anmeldungen im WIM-System nützlich oder gar nötig ?
<2014-03-08>
In der Regel wird das WIM-System "anonym" genutzt. Um jedoch eigene Daten einbinden zu können oder system­kritische Aktionen durch­führen zu können werden Nutzer­anmel­dungen und ggf. zugeteilte Berech­tigungen benötigt.   Mehr »
Wie wird bei einer Nutzer-Anmeldung verfahren?
<2015-01-26>
Für die Erledigung einiger Aufgaben bei der Nutzung und Steuerung eines openWIM-Systems ist eine Nutzeranmeldung notwendig. Hier soll erläutert werden, wie das technisch organisiert ist.   Mehr »
Auswahl und Reihenfolge der Dokumente bei INFOS-Listen
<2015-11-07>
An diversen Stellen des WIM-Systems sind Listen von Infos zu finden. Hier werden die Verfahren zur Auswahl und Bestimmung der Reihenfolge der dargestellten Infos vorgestellt.   Mehr »
Rollenverteilung im WIM-Kontext
<2013-01-01>
Bei der Benutzung, dem Betrieb und der Entwicklung des WIM-Systems gibt es verschiedenste Rollen, die hier näher erläutert werden.   Mehr »
Wozu dienen Interessentengruppen (Audiences) im openWIM-System?
<2020-04-26>
Die Interessen der Nutzer einer App (oder Internetpräsenz) können sich deutlich unterscheiden. Um Nutzer mit signifikant abweichenden Interessen nicht zu überfrachten, können "Interessentengruppen" definiert werden.   Mehr »
Regeln und Randbedingungen bei der Implementierung von Interessentengruppen (Audiences) im openWIM-System
<2020-04-26>
Bei der Implementierung von "Interessengruppen" des openWIM-Systems sind verschiedene Randbedingungen und Regeln zu beachten.   Mehr »
Die Bildrechte werden in der Online-Version angegeben.For copyright notice look at the online version.

Bildrechte zu den in diese Datei eingebundenen Bild-Dateien:

Hinweise:
1. Die Bilder sind in der Reihenfolge ihres ersten Auftretens (im Quelltext dieser Seite) angeordnet.
2. Beim Anklicken eines der nachfolgenden Bezeichnungen, wird das zugehörige Bild angezeigt.
3, Die Bildrechte-Liste wird normalerweise nicht mitgedruckt,
4. Bildname und Rechteinhaber sind jeweils im Dateinamen des Bildes enthalten.