
114
1
부 HTTP: 웹의 기초
HTTP
의 지속 커넥션만을 유지해야 한다. 따라서 N명의 사용자가 서버로 접근하려 한
다면, 프락시는 서버나 상위 프락시에 넉넉잡아 약 2N개의 커넥션을 유지해야
한다.
4.6
파이프라인 커넥션
HTTP/1.1은 지속 커넥션을 통해서 요청을 파이프라이닝할 수 있다. 이는 keep-
alive 커넥션의 성능을 더 높여준다. 여러 개의 요청은 응답이 도착하기 전까지 큐
에 쌓인다. 첫 번째 요청이 네트워크를 통해 지구 반대편에 있는 서버로 전달되면,
거기에 이어 두 번째와 세 번째 요청이 전달될 수 있다. 이는 대기 시간이 긴 네트
워크 상황에서 네트워크상의 왕복으로 인한 시간을 줄여서 성능을 높여준다.
그림 4-18의 a에서 c는 지속 커넥션이 어떻게 TCP 커넥션 지연을 제거하며, 파이
프라인을 통한 요청이(그림 4-18c) 어떻게 전송 대기 시간을 단축시키는지 보여준다.
파이프라인에는 여러 가지 제약 사항이 있다.
· HTTP 클라이언트는 커넥션이 지속 커넥션인지 확인하기 전까지는 파이프라인
을 이어서는 안 된다.
· HTTP 응답은 요청 순서와 같게 와야 한다. HTTP 메시지는 순번이 매겨져 있지
않아서 응답이 순서 없이 오면 순서에 맞게 정렬시킬 방법이 없다.
· HTTP 클라이언트는 커넥션이 언제 끊어지더라도