HTTP HttpURLConnection wiederverwenden?

  • Themenstarter Themenstarter argh
  • Beginndatum Beginndatum
A

argh

Gast
ich frage mich schon die ganze zeit. wie man eine http verbindung unter java wiederverwenden kann. also eine verbindung für den download von meheren dateien.

der übliche prozess sieht ja so aus, daß eien URL erstellt wird und daraus eine http verbindung erzeugt wird. die url muß also schon auf eine spezifische resource zeigen:

Java:
URL url = new URL("http://host/file");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

connection.setRequestMethod("GET"); 
// [...]
connection.connect();
// [...]
connection.disconnect();

ist einfach nur diese java implementierung nicht in der lage eine verbindung für mehrere dateien zu verwenden, ist es serverabhängig, hab ich was übersehen oder ist es eigentlich gar nicht möglich?
 
Ja, der Begriff "Connection" lässt darauf schließen, dass es sich um eine physische Connection handelt, die auch wiederverwendbar sein müsste. Ist aber nicht so. Für jede neue URL braucht es eine neue HttpUrlConnection.
 
Mit einer kurzen Googlesuche konnte ich dazu das hier finden:
HTTP Persistent Connections

Demnach versucht Java im Hintergrund die Verbindungen zum Server wiederzuverwenden. Man muß nur darauf achten bei jedem Request alle ankommenden Daten zu lesen. Kannst dir ja mal im Wireshark anschauen wie Java die Verbindungen verwaltet.
 

Zurück
Oben