HTTP 버전

Feb 06, 2024
HTTP 버전

1. HTTP 0.9

  • 최초 버전으로, 단순한 요청과 응답을 처리하는데 사용
  • 오직 GET 메서드만 지원
논문 조회로만 사용(브라우저 : HTML 리더기)
  • 헤더가 없으며, HTML 페이지만 반
  • 연결을 유지하지 않고, 각 요청마다 새로운 연결을 생성
 

2. HTTP 1.0

  • 1996년에 공식적으로 표준이 됨
  • GET, POST를 지원
회원가입, 글쓰기(WRITE) 등이 추가되면서 브라우저가 전송을 하게 되었음
  • 헤더를 포함한 메타 정보를 추가
  • 연결을 유지하지 않고, 각 요청마다 새로운 연결을 생성
  • 상태 코드 200(성공), 404(찾을 수 없음) 등이 도입
 

3. HTTP 1.1

  • 1997년에 발표되었으며, 현재까지도 가장 널리 사용
  • Keep-Alive 연결을 통해 하나의 TCP 연결을 유지하여 여러 요청을 처리할 수 있게 됨
  • Host 헤더 도입으로 가상 호스팅을 지원
  • Chunked 전송 인코딩을 통해 데이터를 조각으로 나누어 전송 가능
  • 파이프 라이닝을 통해 여러 요청을 동시에 보낼 수 있음
  • POST → POST, DELETE, PUT(전체 수정), PATCH(부분 수정)
  • 백엔드 개발자는 CRUD 를 할 수 있어야 함
CREATE : INSERT → POST 요청
READ : SELECT → GET 요청
UPDATE : UPDATE → PUT 요청 / 자바 스크립트를 배워야 가능
DELETE : DELETE → DELECT 요청 / 자바 스크립트를 배워야 가능
/HTML5은 get, post 만 지원하니까 배우기 전에는 POST로 다 하면 됨
 

4. HTTP 2.0

  • 2015년에 발표되었으며, 성능 향상을 목표로 개발
  • 단일 TCP 연결을 통해 여러 개의 요청과 응답을 병렬로 처리 가능(Multiplexing)
  • 헤더 압축과 이진 프레이밍 등의 기술을 통해 효율적인 통신을 지원
  • 서버 푸시 기능으로 클라이언트 요청 없이 리소스를 전송 가능
  • HTTP/1.x와의 하위 호환성을 유지하면서 성능을 개선
 

5. HTTP 3.0

  • 2020년에 발표되었으며, QUIC 프로토콜이 기반
  • UDP를 사용하여 TCP의 성능 문제를 극복하고 빠른 연결 설정과 안정적인 데이터 전송을 제공
  • 다중 스트림을 지원하여 여러 개의 데이터 스트림을 동시에 전송 가능
  • 연결 복구 시간을 단축하고, 네트워크 혼잡 제어를 개선
  • TLS 1.3을 기본으로 사용하여 보안을 강화
TLS (Transport Layer Security) : 통신 과정에서 데이터를 암호화하고 인증하는 역할
Share article

vosw1