Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Lothar Kimmeringer <news200706@xxxxxxxxxxxxxx>
- Date: Sun, 17 Jun 2007 21:19:03 +0200
Am Sun, 17 Jun 2007 19:18:23 +0200 schrieb Ulrich Schmidt:
Lothar Kimmeringer schrieb:
Ulrich Schmidt wrote:
Wenn ich eine neue URLconnection aufsetze verliere ich doch die Session,
d.h. hieße, wenn ich den Login mal durch habe, auch meinen Login?
Du solltest Dich vielleicht ein bisschen mehr mit dem HTTP-
Protokoll beschaeftigen. Dieses ist per Definition stateless.
Genau aus dem Grund werden ja Dinge wie Cookies oder Werte
im Querystring des Requests uebertragen, damit ein Konzept
namens Session ueberhaupt moeglich ist.
Mit "ein bisschen" beschäftigen ist ganz schön viel Arbeit verbunden.
Naja, zumindest die diversen Zusammenfassungen kann man sich ja
mal anschauen, wenn man merkt, dass man etwas prinzipielles nicht
verstanden hat und deswegen Implementierungen nicht funktionieren,
wie man urpruenglich dachte. Z.B. unter
http://de.wikipedia.org/wiki/HTTP
koennte man ziemlich am Anfang - und bevor das ziemlich ins Detail
geht - nachlesen:
| Im Kern ist HTTP ein zustandsloses Protokoll. Das bedeutet auch,
| dass nach erfolgreicher Datenübertragung die Verbindung zwischen
| den beiden Kommunikationspartnern nicht aufrechterhalten zu
| werden braucht. Sollen dann weitere Daten übertragen werden,
| muss zunächst eine weitere Verbindung aufgebaut werden. Auch ein
| zuverlässiges Mitführen von Sitzungsdaten kann erst auf der
| Anwendungsschicht, zum Beispiel durch Cookies, implementiert werden.
Bei HTTP kann ich deiner Darstellung ja auch noch folgen. Aber bei HTTPS
wird doch ein Sessionkey zwischen Server und Client ausgehandelt mit dem
dann der Traffic kryptiert wird.
Auch hier ueblicherweise pro Request, was mit ein Grund war,
"keep-alive" ins Leben zu Rufen, da das ziemlich auf die Per-
formance und Serverressourcen ging, wegen jedem Schmarrn eine
SSL-Verbindung auszuhandeln.
Sobald ich eine neue URLconnection
aufmache gibts ja auch wieder einen neuen Sessionkey - d.h. in der
Folge, ich muss meinen Login wiederholen.
Nur, wenn die Session an die SSL-Session gebunden ist, was
eher unueblich ist.
Evtl. solltest Du Dir Tools wie der HttpClient von Apache an-
sehen, die einem in dieser Richtung abnehmen koennen.
Das habe ich mir auch schon angesehen; aber ich finde es eigentlich noch
komplizierter als der oben beschriebene Weg. Die Beschreibung ist recht
dünn und wenn man da durchsteigen will ist der Aufwand vermutlich
ähnlich wie mit den Java SDK-Klassen.
Den Eindruck hatte ich bisher nicht, da eben das Mitfuehren
der Cookies kein so grosses Problem war. Evtl. liegt Dein
Problem daran, dass die Session bei Deinem Server auch ueber
die URL im Querystring uebertragen wird und das Cookie nur
ein Konfigurationsfehler ist (waer nicht das erste mal, dass
man sowas antrifft).
Gruesse, Lothar
--
Lothar Kimmeringer E-Mail: spamfang@xxxxxxxxxxxxxx
PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81)
Always remember: The answer is forty-two, there can only be wrong
questions!
.
- References:
- HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Ulrich Schmidt
- Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Bernd Eckenfels
- Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Ulrich Schmidt
- Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Lothar Kimmeringer
- Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- From: Ulrich Schmidt
- HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- Prev by Date: Re: zeitgemäße GUI-Entwicklung mit Java
- Next by Date: Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- Previous by thread: Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- Next by thread: Re: HTTPS-Client bringt Fehler beim Wechsel von getIntputStream() auf getOutputStream
- Index(es):
Relevant Pages
|