come sappiamo connessione HTTP è chiuso quando la richiesta viene risposto
Che cosa è una connessione HTTP? In realtà, si tratta di una connessione socket su cui è implementato HTTP. Solo in HTTP 1.0 la connessione viene chiusa dopo ogni risposta. Al fine di risparmiare sul costo della creazione di una connessione TCP/IP, HTTP1.1 specifica che a meno che il client invia un colpo di testa
Connection:close
o il server torna con la stessa intestazione, quindi il socket rimane aperto. Puoi inserire quante richieste desideri in questo socket e le risposte torneranno nell'ordine in cui sono state richieste. Ciò richiede che la risposta sia inviata con una codifica di trasferimento chunked o che contenga un'intestazione content-length in modo che la fine di ogni risposta possa essere rilevata/calcolata.
Il proxy-connection
intestazione è diverso ancora una volta, ed è relativo solo alla conversazione tra client server e proxy.
Consiglierei questa pagina come guida eccellente per il protocollo.
HTTP Made Really Easy
quindi è sbagliato dire "HTTP è senza stato", può essere pieno di stato in questo caso, giusto? – kern
No, l'HTTP è in effetti senza stato. Ciò significa che i dati restituiti dal server non dipendono da azioni precedenti dell'utente. I cookie e altri metodi non HTTP sono ciò che rende il sito Web come di stato, consentendo all'utente, ad esempio, di accedere e uscire sui siti Web. Lo stato in questo senso non ha nulla a che fare con la connessione. – Kris
controllare anche questa pagina: http://www.io.com/~maus/HttpKeepAlive.html – Kris