HTTP 지속연결

2021. 1. 12. 21:05HTTP

1. 비지속 연결

  • 자원 하나 하나 요청건에 대해서 연결을 시도(3 way handshake)하여 요청함.
  • 예를 들어 HTML파일을 하나 요청하여 서버에서 자원을 받았을때, 해당 HTML이 필요로 하는 JS를 다시 요청하기 위해 새로운 연결을 시도하여 JS를 받고, 또 해당 JS가 필요로 하는 이미지를 받기 위해 새로운 연결을 시도하여 이미지를 받고………..계속 자원을 요청할때마다 새로운 연결을 시도하는 방식.
  • 연결시도 횟수가 많아 비효율적.

2. 지속 연결

  • 자원 하나를 요청했을때 이와 묶여있는 모든 자원을 요청하기 위해 연결을 유지한 상태.
  • 클라이언트는 서버에서 응답이 오기전에 자원을 연속적으로 요청할 수 있고 서버는 연속적으로 응답할 수 있다.(파이프라이닝)
  • 연결시도 횟수가 줄어들어 효율적.
  • HTTP 1.0 기준으로 클라이언트에서 지속연결을 원할 때 Keep-Alive를 헤더에 담아서 요청을 보낸다.
  • HTTP 1.1 기준으로 달리 명시되 있지 않으면 모든 연결은 지속연결로 간주된다. 하지만 각 서버마다 타임아웃(TIEMOUT)이 존재한다.

'HTTP' 카테고리의 다른 글

HTTP 메시지 구조  (0) 2021.01.12
STATELESS, STATEFUL  (0) 2021.01.12
IP, TCP, UDP 간단 정리  (0) 2021.01.12