Sollte ein server befolgen Sie die HTTP-Verbindung: schließen header gesendet von einem client?
Habe ich einen HTTP-client, stellt die Verbindung-header, um den folgenden Wert, wenn ich eine Anfrage:
Connection: close
Jedoch, wenn der server sendet eine Antwort, es ist die Einstellung des headers Keep-Alive:
Connection: Keep-Alive
Dies scheint intuitiv falsch zu mir, und ich Frage mich, wie sollte der Kunde mit so einer Antwort von dem server? Außerdem warum sollte ein server antwortet mit Keep-Alive, wenn der AUFTRAGGEBER gebeten hat, die Verbindung zu schließen, ist diese gültig?
Laut HTTP-RFC:
"HTTP/1.1 definiert die "close" - Anschluss-Möglichkeit für den Absender, um zu signalisieren, dass die Verbindung geschlossen wird nach Abschluss der Reaktion. Zum Beispiel,
Connection: close
entweder die Anfrage oder die Antwort-header-Feldern zeigt an, dass die Verbindung SOLLTE NICHT als `persistent' (Abschnitt 8.1), nach der aktuellen Anforderung/Antwort-ist abgeschlossen."
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das in Ordnung. Sie sagen, die server, die Sie nicht unterstützen, persistente verbindungen und es sagt, Sie tut es. Jede Partei ist vollständig gültig, in dem schließen der Verbindung - es ist mehr eine Botschaft über das, was beide unterstützt, dann eher eine SIE MÜSSEN in der NÄHE DIESER Befehl VERBINDUNG.
Sagt der Kunde ich wird die Verbindung zu schließen, wenn die aktuelle Anfrage - /Antwort-abgeschlossen ist,oder in anderen Worten , gesagt, Sie nicht unterstützen, persistent verbindungen. Das heißt, er hat nicht sagen, der server die Verbindung schließen. Der server antwortet, dass es unterstützt persistente verbindungen(keep-alive).
Da hast du gesagt, die server, die Sie nicht unterstützen persistente Verbindung, sollten Sie die Verbindung schließen, wenn man die Antwort Lesen.