developer tip

Keep-alive 헤더 설명

copycodes 2020. 8. 13. 23:33
반응형

Keep-alive 헤더 설명


사이트 구축 요청을 받았는데 공동 개발자 중 한 명이 연결 유지 헤더를 포함해야한다고 말했습니다.

나는 그것에 대해 많이 읽었지만 여전히 질문이 있습니다.

msdn->

개방형 연결은 서버가 각 요청에 대한 콘텐츠를 더 빨리 반환 할 수 있기 때문에 클라이언트가 웹 페이지 콘텐츠에 대해 여러 요청을 할 때 성능을 향상시킵니다. 그렇지 않으면 서버는 모든 요청에 ​​대해 새 연결을 열어야합니다.

보고

여기에 이미지 설명 입력

  • 는 IIS (F)를 보낼 때 keep alive헤더 ( 또는 사용자가 연결 유지 전송 ), 그 (뜻인가 E, C, B단지 내 세션에있는 연결 저장)을?
  • 이 정보는 어디에 보관 됩니까 ( "이 연결은"Royi "에 속함 )?
  • 다른 사람이 그 연결을 사용할 수 없다는 의미입니까?
  • 그렇다면-헤더 유지 유지-중복 된 연결 사용자의 수를 줄이는 것입니까?
  • 그렇다면 연결이 나에게 얼마나 오래 저장됩니까? (즉, 만약 내가 keep alive를 설정하면 언제까지 "keep"?)

관심있는 사람들을위한 ps :

이 샘플 페이지클릭하면 연결 유지 헤더가 반환됩니다.


이 정보는 어디에 보관 되나요 ( " 컴퓨터 A와 서버 간의 연결 F")?

TCP 연결은 소스 IP 및 포트와 대상 IP 및 포트로 인식됩니다. 사용자의 OS, 모든 중간 세션 인식 장치 및 서버의 OS는이를 통해 연결을 인식합니다.

HTTP는 요청-응답과 함께 작동합니다. 클라이언트가 서버에 연결하고 요청을 수행하고 응답을받습니다. 연결 유지가 없으면 각 응답 후 HTTP 서버에 대한 연결이 닫힙니다. HTTP 연결 유지를 사용하면 특정 기준이 충족 될 때까지 기본 TCP 연결을 열어 둡니다.

이를 통해 단일 TCP 연결을 통한 다중 요청-응답 쌍을 허용하여 TCP의 상대적으로 느린 연결 시작의 일부를 제거합니다.

IIS (F)가 연결 유지 헤더 (또는 사용자가 연결 유지)를 보낼 때 (E, C, B) 연결을 저장한다는 의미입니까?

아니요. 라우터는 세션을 기억할 필요가 없습니다. 사실, 동일한 TCP 세션에 속하는 여러 TCP 패킷이 모두 동일한 라우터를 통과 할 필요는 없습니다. 즉, TCP가 관리하기위한 것입니다. 라우터는 최상의 IP 경로를 선택하고 패킷을 전달합니다. Keep-alive는 클라이언트, 서버 및 기타 중간 세션 인식 장치에만 해당됩니다.

내 세션에만 해당합니까?

다른 사람이 그 연결을 사용할 수 없다는 의미입니까?

이것이 TCP 연결의도입니다 . 이는 두 당사자만을 대상으로하는 종단 간 연결입니다.

그렇다면-헤더 유지 유지-중복 된 연결 사용자의 수를 줄이는 것입니까?

"겹친 연결"을 정의합니다. 다음 과 같은 장점과 단점에 대해서는 HTTP 영구 연결참조하십시오 .

  • 낮은 CPU 및 메모리 사용량 (동시에 열리는 연결 수가 적기 때문에)
  • 요청 및 응답의 HTTP 파이프 라이닝을 활성화합니다.
  • 네트워크 정체 감소 (TCP 연결 감소).
  • 후속 요청의 지연 시간 감소 (핸드 쉐이킹 없음).

그렇다면 연결이 나에게 얼마나 오래 저장됩니까? (즉, 만약 내가 keep alive를 설정하면 언제까지 "keep"?)

일반적인 연결 유지 응답은 다음과 같습니다.

Keep-Alive: timeout=15, max=100

예를 들어 HTTP (Hypertext Transfer Protocol) Keep-Alive Header참조하십시오 ( keep-alive 헤더가 26162086 보다 자세히 설명 된 HTTP / 2 용 초안 ).

  • 호스트는 timeout매개 변수 값을 호스트가 유휴 연결이 닫히기 전에 열린 상태로 유지되도록 허용하는 시간으로 설정합니다 . 호스트에서 데이터를 보내거나받지 않으면 연결이 유휴 상태입니다.

  • max매개 변수는 클라이언트가 만들거나 서버가 지속적인 연결을 할 수 있습니다 것을 요청의 최대 수를 나타냅니다. 지정된 수의 요청 및 응답이 전송되면 매개 변수를 포함하는 호스트가 연결을 닫을 수 있습니다.

그러나 서버는 임의의 시간 또는 요청 횟수 후에 연결을 자유롭게 닫을 수 있습니다 (현재 요청에 대한 응답을 반환하는 한). 이것이 구현되는 방법은 HTTP 서버에 따라 다릅니다.

참고 URL : https://stackoverflow.com/questions/20592698/keep-alive-header-clarification

반응형