HTTP connection 종류

박지현·2021년 3월 14일
0

네트워크 궁금증

목록 보기
2/7

Http connection은 두가지가 있다.
1. non-persistent HTTP
2. persistent HTTP

단점 비교

non-persistent HTTP(HTTP/1.0)

  • 매번 새로운 연결로 성능 저하
  • 서버 부하 비용

persistent HTTP(HTTP/1.1)

  • 각 요청 객체에 대한 새로운 연결이 설정되고 유지 되어야 함
  • TCP 버퍼가 할당되어야 하고 TCP변수들이 클라이언트와 서버 양쪽에 유지되어야 한다.
  • 첫번째 요청에서 시간이 너무 오래 걸리게 되어 blocked이 걸리면, 두번째,,세번째 요청도 기다려야 함
  • Header 구조 중복의 문제점(비효율성)

이런 상반된 특징을 가지고 있는 두가지 방식이 각각 어떤 서비스 환경에 알맞는지 궁금했다.

알아보다 보니 non-persistent HTTP가 HTTP/1.0으로 구 버전이고 persistent HTTP가 HTTP/1.1방식으로 단점을 보안하기 위해 나온 방식이라는 것을 알게 됩

그리고 HTTP/1.1의 성능향상에 초점을 맞춘 프로토콜로 HTTP/2가 나옴

HTTP/2의 특징

  1. HTTP 메시지 전송 방식의 변화로 바이너리 프레이밍 계층 사용
    -> 파싱, 전송 속도 up 오류 발생 가능성 down

  2. 스트림이 끼어드는 방식이 허용되어 head of line blocking이 해결이 됨

  3. Stream Prioritization 리소스간 우선 순위를 설정 가능

  4. Server push 클라이언트가 아직 요청하지 않는 메세지를 서버가 미리 보내줄 수 있음

  5. Header Compression 헤더의 크기를 줄여 페이지 로드 시간 감소

Quic의 등장(HTTP/3)

quic의 특징

  • 다른 프로톤콜에 비해 가볍고, 성능과 안정을 모두 고려해서 설계, 암호화된 전송을 통해 다중화된 스트림을 제공하는 UDP기반 전송 프로토콜
  • 일반적인 TCP연결에 비해 대기시간이 훨씬 단축되고 스트림 다중화 지원이 향상됩니다.
  1. udp 기반으로 전송속도 향상
  2. connection UUID라는 고유한 식별자로 서버와 연결 -> 커넥션 재수립 필요 X
  3. tls기본 적용, IP Spoofing 방지 등 보안 강화
  4. 독립 스트림 -> 향상된 멀티플렉싱 가능
    구글은 로딩 시간이 평균 3%, 유튜브는 30% 개선

https://http3-explained.haxx.se/ko/why-quic/why-tcphol

0개의 댓글