HTTP 역사

Jun·2022년 5월 27일
0

네이버 부스트캠프

목록 보기
20/21

HTTP

HTTP 역사

HTTP/1.0

  • HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되어있다.
  • 따라서 하나의 요청을 처리하기 위해 매번 3-way handshaking 과정이 필요하다.
  • 이는 RTT (패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오는 왕복 시간)를 증가시킨다.
  • 이를 해결하기 위해 다음과 같은 기법을 사용한다.
    • 이미지 스플리팅
    • 코드 압축
    • 이미지 Base64 인코딩

HTTP/1.1

  • 매번 TCP 연결을 하는게 아니라 최초 한 번만 연결하고 여러 개의 파일을 계속 보낼 수 있다.
  • keep-alive 옵션을 이용한다.
  • 하지만 파일은 순차적으로 전송 되므로, 하나의 파일에서 지연이 발생하면 다른 파일을 전송하는데 대기 시간이 길어진다.

HTTP/2

  • HTTP/2는 파일을 순차적으로 전송하는 방식이 아닌 병렬 처리를 지원한다.
  • 1.1은 헤더가 큰 문제가 있었는데, 이를 헤더 압축을 하면서 해결한다.
  • 또한 1.1은 클라이언트가 요청을 보내야 서버에서 파일을 전송하는데, 2에서는 클라이언트가 요청을 하지 않아도 서버에서 css같은 파일을 보낸다.

HTTPS

  • HTTPS는 응용계층과 전송계층 사이에 신뢰 계층인 SSL/TLS 계층을 넣어 신뢰할 수 있는 HTTP 요청을 말한다.
  • SSL/TLS는 보안을 제공하는 프로토콜이다.
  • 공격자가 서버인 척하며 사용자 정보를 가로채는 것을 방지

HTTP/3

  • TCP가 아닌 UDP 기반
profile
HiHi

0개의 댓글