libcurl 연결 재사용

연결 재사용

libcurl은 오래된 연결 풀을 활성 상태로 유지합니다. 하나의 전송이 완료되면 기존 연결 중 하나를 재사용할 수 있게 된 후속 전송이 새 연결을 만드는 대신 사용할 수 있도록 “연결 풀”(연결 캐시라고도 함)에서 N 연결을 활성 상태로 유지합니다. . 새 연결을 만드는 대신 연결을 재사용하면 속도와 필요한 리소스 면에서 상당한 이점을 얻을 수 있습니다.

libcurl이 전송을 위해 새 연결을 만들려고 할 때 먼저 풀에 대신 재사용할 수 있는 기존 연결이 있는지 확인합니다. 연결 재사용 검사는 DNS 또는 기타 이름 확인 메커니즘이 사용되기 전에 수행되므로 순전히 호스트 이름을 기반으로 합니다. 올바른 호스트 이름에 대한 기존 라이브 연결이 있는 경우 다른 많은 속성(포트 번호, 프로토콜 등)도 사용할 수 있는지 확인합니다.

쉬운 API 풀

easy API를 사용하거나 더 구체적으로 curl_easy_perform()을 사용하는 경우 libcurl은 특정 easy 핸들과 연결된 풀을 유지합니다. 그런 다음 동일한 쉬운 핸들을 재사용하면 연결을 재사용할 수 있습니다.

다중 API 풀

다중 API를 사용하는 경우 연결 풀은 대신 다중 핸들과 연결된 상태로 유지됩니다. 이를 통해 연결 풀 손실 위험 없이 이지 핸들을 자유롭게 정리하고 다시 생성할 수 있으며, 하나의 이지 핸들에서 사용하는 연결을 나중에 전송할 때 별도의 핸들에서 재사용할 수 있습니다. 멀티 핸들을 재사용하십시오!

“연결 캐시” 공유

libcurl 7.57.0부터 애플리케이션은 공유 인터페이스를 사용하여 다른 방식으로 독립적인 전송이 동일한 연결 풀을 공유하도록 할 수 있습니다.

공유하기