CURLOPT_CONNECTTIMEOUT and CURLOPT_TIMEOUT 차이점

in #php2 years ago (edited)

CURL을 세팅하고 쓰다보면 CURLOPT_CONNECTTIMEOUT 과 CURLOPT_TIMEOUT 을 세팅해서 써야 하는 경우가 있다.

이런경우 은근 많은 개발자들이 이에 대한 차이점을 모르는 경우가 있다.

CURLOPT_CONNECTTIMEOUT = 지정된 서버 연결까지의 대기 시간.

ex) curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 

      - 10초내에 서버에 연결이 되지 않으면 접속을 끊는다.

CURLOPT_TIMEOUT = 연결후 결과 값을 받기까지 대기 할수 있는 시간.

ex) curl_setopt($ch, CURLOPT_TIMEOUT, 10);

      - 연결후 10초까지 대기 후에도 작업이 종료가 되지 않으면 강제로 연결을 종료 한다.

위의 설명처럼 연결하는데의 대기시간과 연결후 처리 완료까지의 대기시간으로 구분이 되기에 상황에 맞게 써야 한다.

연결은 금방 되는데 많은 양의 데이터를 처리해야 할경우라면 CURLOPT_CONNECTTIMEOUT을 짧게 주고 CURLOPT_TIMEOUT 의 대기 시간을 길게 줘야 한다.