Sto cercando di capire quali sono la pipeline HTTP e le connessioni keep-alive HTTP e stiamo cercando di stabilire una connessione tra questi due argomenti e la tecnologia degli eventi Server Sent.HTTP: quali sono le relazioni tra pipelining, keep-alive e Server Sent Events?
Per quanto ho capito, HTTP keep-alive collegamento è il default in HTTP 1.1 modo di usare il protocollo TCP quando la stabilita una volta connessione TCP viene utilizzato per l'invio di diverse richieste HTTP uno per uno. Il pipelining HTTP è la capacità del client di inviare richieste al server mentre le risposte a richieste precedenti non sono state ancora ricevute utilizzando la stessa connessione TCP, generalmente non utilizzata come impostazione predefinita nei browser.
Le mie domande:
1) se è possibile inviare diverse richieste al server uno dopo l'altro utilizzando una connessione TCP - come il client in grado di distinguere tra le risposte? Suppongo che il client stia utilizzando l'ordine FIFO di invio delle risposte dal server?
2) Perché le richieste non identi che come le richieste POST non devono essere pipeline (secondo wikipedia)?
3) Quali sono i limiti del server Web: il numero di connessioni TCP aperte possibili è limitato? Se sì, allora se un certo numero di client ha connessioni keep-alive, altri non possono stabilire connessioni e questo può causare un problema, giusto?
4) Gli eventi inviati dal server utilizzano la connessione keep-alive ma, per quanto ho capito, SSE non utilizza il pipelining. Invece riescono a elaborare diverse risposte a una richiesta, oppure potrebbero semplicemente inviare un'altra richiesta quando è arrivata la risposta successiva con l'evento. Quale ipotesi è corretta?
5) Una connessione TCP significa una presa? Un socket significa una connessione TCP? Presa di chiusura/apertura significa chiusura/apertura della connessione TCP?
Grazie porneL! 1) Ma cosa succede se alcune risposte sono arrivate nell'ordine sbagliato rispetto all'ordine inviato? 3) Qual è il vantaggio dell'uso del proxy? deve comunque stabilire le stesse connessioni con il server? 4) Quindi usare SSE implica una connessione +1, quindi aumentare il carico del server? – KutaBeach
@KutaBeach Ho ampliato la mia risposta – Kornel