[HTTP] HTTP/1.x의 커넥션 관리

2022. 10. 26. 23:47TIL💡/Network

HTTP/1.x의 커넥션 유형

  • 단기 커넥션
  • 영속적인 커넥션: Keep-Alive 헤더 이용 → 연속적인 요청 사이에 커넥션 유지하여 새 커넥션을 여는 데 필요한 시간 줄인다.
  • HTTP 파이프라인: 한 단계 더 나악, 응답조차도 기다리지 않고 연속적인 요청을 보내서 네트워크 지연 더욱 줄인다.

영속적인 커넥션

영속적인 커넥션은 얼마간 연결을 열어놓고 여러 요청에 재사용함으로써, 새로운 TCP 핸드셰이크를 하는 비용을 아끼고, TCP 성능 향상 기능을 활용할 수 있다. 커넥션은 영원히 열려있지는 않으며, 유휴 커넥션들은 얼마 후에 닫힌다.

Keep-Alive 헤더를 사용해서 연결이 최소한 얼마나 열려있어야 할지를 설정할 수 있다.

 

물론 영속적인 커넥션을 단점을 가지고 있다. 유휴 상태일 때에도 서버 리소스를 소비하며, 과부하 상태에서는 DoS attack을 당할 수 있다. 이런 경우에는 커넥션이 유휴 상태가 되자마자 닫히는 비영속적 커넥션을 사용하는 것이 더 나은 성능을 보일 수 있다.

 

HTTP 파이프라인

HTTP 파이프라이닝은 모던 브라우저에서 기본적으로 활성화되어있지 않다.

버그가 많고 구현이 어렵기 때문에 멀티플렉싱 기능을 갖춘 HTTP/2.0이 선호된다.

'TIL💡 > Network' 카테고리의 다른 글

[HTTP] HTTP 쿠키 🍪  (0) 2022.10.27
[HTTP] 전형적인 HTTP 세션  (0) 2022.10.26
[HTTP] HTTP/2.0 프레임  (0) 2022.10.26
[HTTP] HTTP 진화 과정  (0) 2022.10.26
[HTTP] HTTP 개념 정리 💡  (0) 2022.10.26