질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

Timeout & keepalive

작성자 정보

  • 최우혁 작성
  • 작성일

컨텐츠 정보

본문

사용자가 웹브라우져를 띄워서 싸이트 접속을 시작하면 80번 포트에 tcp 커넥션 요청을 하겠죠

그때 3 way handshake 가 이루어 지는걸로 알고 있습니다.

아파치 서버 설정파일 (httpd.conf) 의 수많은 항목 중에

Timeout 300

KeepAlive On

KeepAliveTimeout

이 세 가지 설정 들이 있는데요

최초 80번 포트로 커넥션 요청시 이루어 지는 3 way handshake 에 대해 keepalive  시키는 게 Timeout 설정 구문

인가요,? 제말뜻은, Keepalive 용어 라는게 처음 3 way handshake 가 완성되고 나면 그후에 반복해서 그과정을

되풀이 하지 않게 하기 위한 것으로 알고 있었는데요

아파치 웹 서버 설정파일에서

Timeout 설정 구문 역할이 예를들자면...

"클라이언트가 한 페이지를 다 전송받고 난뒤 일정시간 동안 아무런 메세지 교환 이 없으면

프로세스와 접속을 끊는다 "

이니까.. 이게 곧 제가 알고 있던 keepalive 기능이 아닌가 해서요.

아파치 서버에서 말하는 KeepAlive On 설정구문은 제가 알고있던 최초 80번 포트에 접속하기 위한

3 way handshake 에 대한 keepalive 기능과는 조금 다른 것인가 싶네요, 제가 잘못 생각하는 것인가요?

 

 

 

 

관련자료

댓글 2

막둥이님의 댓글

  • 막둥이
  • 작성일
Timeout  :  클라이언트 서버 연결 되었을때 아무런 작업 없이 연결을 유지 시키는 시간

KeepAlive On/Off : 아파치 웹서버의 특정 한 프로세스가 특정 사용자의 지속적인 요청작업들을
                    계속해서 허용할 것이가 아닌가를 결정

KeepAliveTimeout : KeepAlive On일때만 작동하며 자식 프로세스들이 한건 한건을 요청하는
                    사이에 아무런 작업없이 유지 되는 시간

이해가 되셨는지 모르겠네요.. 최우혁님이 말씀하신 3 way handshake 와는 상관 없는 것입니다.

3 way handshake 는 최초 세션을 맺을때 이루어지는 단계입니다.

최우혁님의 댓글

  • 최우혁
  • 작성일
답변감사합니다 -ㅎ

-_-음.. 최초 세션을 맺을때 이루어진다는건 저도 글쓸때 말했었는데요,
제가 뚜렷하게 적어놓질 않았네요
keepalive 라는 용어는 일단 쓰지 않고, 내용적으로 질문을 드릴게요.
서로 대화 초점이 달라질것 같아서..

세션이 맺어지고 웹페이지 하나를 완전히 다운받았다고 합시다.
(클라이언트 측에서) 그런상태로 가만히 두면
아파치 서버의 Timeout 300 구문이 클라이언트를 노리고 있겠죠 -_-
그 300초 만큼의 시간이 지나면 클라이언트-서버간의 접속을 끊어 버려야 되니까
말이죠 -
300초동안 아무런 페이지 요청을 하지 않았고, "연결이 끊어진 뒤에"
클라이언트 측에서 새로운 페이지를 요구 했다고 가정 합시다.

그럼 다시 세션을 맺어야 되는것 아닌가요?(3 way handshake 과정을 다시 거쳐서)

Am I missing something ? ;;

질문 하나더... 아파치의 자식 프로세스는 한번에 하나의 클라이언트만
상대 합니까? 제말은 '동시에' 여러 클라이언트를 상대하느냐 아니면
한번에 한명의 클라이언트와 대화하되 그것이 끝나면 다른 클라이언트를
상대하느냐 이 뜻이죠..ㅎ

공지사항


뉴스광장


  • 현재 회원수 :  60,128 명
  • 현재 강좌수 :  36,153 개
  • 현재 접속자 :  280 명