2009-06-29 3 views
0

Apache 위에 mod_wsgi 응용 프로그램을 배포하고 Curl을 사용하는 클라이언트 프로그램이 있습니다.Curl, Apache 및 mod_wsgi와의 연결 재사용

사용자 측면의 CURL API에서 연결을 재사용하려고했지만 wireshark의 연결을 보면 모든 HTTP 요청/응답에 대해 새로운 연결이 만들어진 것을 볼 수 있습니다.

이-계속 살아과 동일하다 : 모든 HTTP 요청의 끝에서

는 HTTP 응답 헤더는 "닫기 연결"가? 재사용을 가능하게하려면 Apache/Mod_wsgi 측에서해야 할 일은 무엇입니까?

답변

3

일반적으로 연결 유지 연결에 대한 지원이 기본적으로 설정되어 있으므로 Apache에는 아무 것도하지 않아도됩니다. Apache 구성의 KeepAlive 지시문을 참조하여 설정 한 내용을 확인하십시오.

그 밖에도 작동 유지 연결이 작동하려면 WSGI 응용 프로그램이 응답에서 콘텐츠 길이를 설정하거나 목록에 단일 문자열 만 포함 된 응답 목록을 반환해야합니다. 후자의 경우 mod_wsgi는 자동적으로 응답을위한 content length를 추가 할 것입니다. 대부분의 오류 응답은 관계없이 연결을 닫을 수 있으므로 응답은 일반적으로 성공적인 응답이어야합니다.

심지어 모든 것을 수행해도 문제는 여러 URL을 가져 오는 컬 기능이 활성 연결 유지를 사용하는지 여부입니다. 분명히 별도의 컬 호출은 불가능하므로이 질문에 당신이 컬의 해당 기능을 사용하려고 함을 묻는 질문을하기도합니다. 다른 옵션은 libcurl에 링크 된 커스텀 클라이언트를 사용하고 그 라이브러리를 사용한다면 libcurl을 의미 할 것입니다.

아파치에 대한 액세스가 프록시를 통해 이루어지는 경우 프록시가 연결 유지를 구현하지 않아서 전체 메커니즘 작동을 중지시킬 수 있습니다.

자세한 정보를 얻으려면 말풍을 사용하는 방법에 대해 알아야합니다.