Ich versuche zu verstehen, was sind die HTTP-Pipelining und HTTP Keep-Alive-Verbindungen, und versuchen, eine Verbindung zwischen diesen beiden Themen und Server Sent Events-Technologie herzustellen.HTTP: Was sind die Beziehungen zwischen Pipelining, Keep-Alive und Server Sent Events?
Soweit ich verstehe, HTTP Keep-Alive-Verbindung ist die Standardeinstellung in HTTP 1.1 Art und Weise TCP verwenden, wenn die etablierten einmal TCP-Verbindung für das Senden von mehreren HTTP verwendet wird, fordert eine nach der anderen. HTTP-Pipelining ist die Fähigkeit des Clients, Anforderungen an den Server zu senden, während Antworten auf vorherige Anforderungen noch nicht mit der gleichen TCP-Verbindung empfangen wurden, die in Browsern standardmäßig nicht verwendet wird.
Meine Fragen:
1), wenn es möglich ist, mehrere Anfragen an den Server einer nach dem anderen mit einer TCP-Verbindung zu senden - wie der Client zwischen den Antworten unterscheiden können? Ich nehme an, Client verwendet FIFO-Reihenfolge des Sendens von Antworten von Server?
2) Warum sollten nicht-idempotente Anfragen wie POST-Anfragen nicht weitergeleitet werden (laut Wikipedia)?
3) Was ist mit den Einschränkungen des Web-Servers: ist die Anzahl der möglichen offenen TCP-Verbindungen begrenzt? Wenn ja, wenn einige Clients Keep-Alive-Verbindungen halten, können andere keine Verbindungen herstellen, und dies kann zu einem Problem führen, oder?
4) Server gesendet Ereignisse verwenden die Keep-Alive-Verbindung, aber soweit ich verstehe, verwenden SSE nicht Pipelining. Stattdessen schaffen sie es, mehrere Antworten auf eine Anfrage zu verarbeiten, oder sie senden nur eine weitere Anfrage, wenn die nächste Antwort mit dem Ereignis eintrifft. Welcher Tipp ist richtig?
5) Eine TCP-Verbindung bedeutet eine Buchse? Ein Socket bedeutet eine TCP-Verbindung? Schließen/Öffnen der Buchse bedeutet Schließen/Öffnen der TCP-Verbindung?
Danke porneL! 1) Aber was ist, wenn eine Antwort in einer falschen Reihenfolge in Bezug auf die gesendete Reihenfolge angekommen ist? 3) Was ist der Vorteil der Verwendung von Proxy? muss es trotzdem die gleichen Verbindungen zum Server herstellen? 4) Also bedeutet die Verwendung von SSE + 1 Verbindung, was die Serverbelastung erhöht? – KutaBeach
@KutaBeach Ich habe meine Antwort erweitert – Kornel