2011-10-19 10 views
5

Domyślnie nagłówek jest ustawiony na Keep-Alive w browarach, aby umożliwić utrzymanie połączenia otwarte dla dalszych żądań z przeglądarki.Nagłówek żądania ustawienia: Połączenie

Kiedy wykonuję nagłówek Connection na close, jaka może być różnica? Czy ma to wpływ na problemy z wydajnością?

(jeden dodatek: Jestem ustawienie nagłówka z XMLHttpRequest)

+2

Dlaczego miałbyś chcieć majstrować przy czymś takim? – bzlm

+1

Otrzymuję pustą odpowiedź od serwera dla żądania. Biorę to pod uwagę, a następnie – ajduke

+0

Być może ustawiono "statusCode: 204 no content"? To może przeszkadzać. – MarkHu

Odpowiedz

0

To wpływa na wydajność, ponieważ zasób jest najdroższym utworzyć gniazdo między dwoma komputerami. Dlatego klient musi ustanowić nowe połączenie w każdym żądaniu.

+0

Zakłada się, że można to zmienić z poziomu xmlhttprequest. – bzlm

+0

Muszę z tym, że to jest tworzenie strumienia żądania/odpowiedzi do serwera i utrzymanie tego strumienia otwarte na zawsze do dalszej komunikacji z serwerem lub coś innego – ajduke

+0

@bzlm Tak, zmieniam go z xmlhttprequest – ajduke

9

Gdy wysyłasz żądania z "Połączenie: keep-alive" kolejne żądanie do serwera będzie używać tego samego połączenia TCP. Nazywa się to trwałym połączeniem HTTP. Pomaga to zmniejszyć obciążenie procesora po stronie serwera i poprawia czas oczekiwania/odpowiedzi.

Jeśli zostanie wysłane żądanie: "Połączenie: zamknij" oznacza to, że po zgłoszeniu żądania serwer musi zamknąć połączenie. Tak więc dla każdego żądania zostanie ustanowione nowe połączenie TCP.

Domyślnie klient/serwer HTTP 1.1 używa funkcji keep-alive, podczas gdy klient/serwer HTTP 1.0 domyślnie nie obsługuje trybu keep-alive.

Powiązane problemy