현재 위치: > 최신 기사 목록> curl_share_init 함수를 통한 curlshopt_share를 사용하여 DNS, 쿠키 및 SSL 세션의 공유 세분성을 미세하게 제어하는 ​​방법?

curl_share_init 함수를 통한 curlshopt_share를 사용하여 DNS, 쿠키 및 SSL 세션의 공유 세분성을 미세하게 제어하는 ​​방법?

M66 2025-06-23

CURL 공유 리소스는 여러 CURL 세션이 특정 리소스를 공유 할 수 있도록하여 리소스의 중복 초기화를 줄입니다. 실제 응용 분야에서 여러 컬 요청은 종종 DNS를 구문 분석하거나 쿠키를 처리하는 것과 같은 동일한 작업이 필요합니다. 이러한 리소스를 공유함으로써 개발자는 요청 효율성을 향상시키고 중복 네트워크 요청 및 계산을 피할 수 있습니다.

CURL은 curl_share_init 함수를 제공하여 공유 세션을 초기화하고 curlshopt_share 옵션과 협력하여 공유 할 리소스를 지정합니다. 가장 일반적인 리소스에는 DNS 해상도, 쿠키 및 SSL 세션이 포함됩니다.

curl_share_init 함수를 사용하는 방법?

curl_share_init 함수는 공유 옵션을 지정하는 데 사용할 수있는 공유 핸들을 반환하는 공유 세션을 초기화하는 데 사용됩니다. 이 기능의 기본 사용법은 다음과 같습니다.

 $share = curl_share_init();

이 기능은 공유 핸들 $ 주식을 반환하며 나중에 공유 리소스 유형을 설정하는 데 사용할 수 있습니다.

공유 세분성을 잘 통제합니다

CURL_SHARE_SETOPT 함수를 통해 개발자는 공유 해야하는 리소스를 정확하게 제어 할 수 있습니다. 예를 들어, DNS 해상도, 쿠키 스토리지 또는 SSL 세션을 공유하도록 선택할 수 있습니다.

공유 DNS 해상도

DNS 해상도 공유는 특히 동일한 도메인 이름을 여러 번 요청할 때 요청 당 DNS 쿼리를 피하는 일반적인 최적화 측정 중 하나입니다.

 curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_DNS);

이 옵션을 사용하면 공유 핸들을 사용하여 모든 컬 세션을 사용하여 DNS 해상도 결과를 공유하여 중복 DNS 쿼리가 줄어 듭니다.

쿠키 공유

여러 컬 요청에 동일한 쿠키가 필요한 경우 개발자는 쿠키를 공유하여 요청 당 쿠키 처리 시간을 줄일 수 있습니다.

 curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_COOKIE);

이 옵션을 사용하면 여러 컬 세션이 동일한 쿠키 스토리지를 공유 할 수 있습니다.

SSL 세션을 공유하십시오

여러 요청이 동일한 SSL 세션을 사용하는 경우 개발자는 SSL 세션의 상태를 공유하도록 선택할 수있어 각 요청이 SSL 연결을 재건하여 효율성이 높아질 수 있습니다.

 curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_SSL);

이 옵션을 사용하면 SSL 세션을 공유하여 SSL 핸드 셰이크 수를 줄일 수 있습니다.

컬 요청과 함께 공유 세션을 사용하십시오

공유 세션을 초기화 한 후 특정 CURL 요청과 연결해야합니다. 각 CURL 요청에서 공유 핸들이 CURL_SETOPT 함수를 통해 전달되어 요청이 공유 리소스를 사용할 수 있습니다.

 $ch = curl_init("http://example.m66.net");
curl_setopt($ch, CURLOPT_URL, "http://example.m66.net");
curl_setopt($ch, CURLOPT_SHARE, $share);
curl_exec($ch);
curl_close($ch);

위의 코드에서는 공유 핸들 $ 공유를 CURL 세션 $ ch 에 전달하여 요청이 DNS, 쿠키 또는 SSL 세션을 공유 할 수 있도록합니다.

공유 세션을 종료하십시오

공유 세션이 더 이상 필요하지 않은 경우 Curl_share_close 기능을 통해 공유 세션을 닫을 수 있으며 관련 리소스를 해제 할 수 있습니다.

 curl_share_close($share);

주목해야 할 것

  1. 공유 세분화 선택 : 모든 시나리오가 DNS, 쿠키 또는 SSL 세션을 공유하는 데 적합한 것은 아닙니다. 이러한 리소스를 공유 할 때 요청의 특정 요구 사항을 고려해야합니다. 예를 들어, 응용 프로그램마다 쿠키 스토리지 정책이 다를 수 있으며 과도한 공유는 일부 개인 정보 보호 문제로 이어질 수 있습니다.

  2. 공유 세션의 수명주기 : 공유 세션의 수명주기가 CURL 세션과 일치하고 CURL 요청이 종료되기 전에 공유 세션이 파괴되는지 확인하십시오.