프로필사진
DevOps 부트캠프 기록일지
DevOps_04_김재환
19_Study(HTTP 종류와 차이점)
19_Study(HTTP 종류와 차이점)

2023. 4. 6. 18:34부트캠프/DevOps (TIL)

HTTP/0.9

HTTP/0.9는 초기 버전으로 1991년에 처음 개발되었습니다. 이 버전에서는 요청과 응답에 대한 간단한 규약만 정의되어 있습니다. 즉, GET 메서드를 이용하여 서버에서 HTML 문서와 같은 정적인 리소스를 가져올 수 있습니다. 하지만 요청과 응답 헤더를 정의하지 않았기 때문에 HTTP/0.9는 매우 제한적이며, 요즘은 거의 사용되지 않습니다.

 

HTTP/1.0

HTTP/1.0은 1996년에 발표된 HTTP의 첫 번째 버전입니다. 이 버전에서는 한 번의 요청에 대해 한 번의 응답만이 가능했습니다. 즉, 하나의 요청을 보내면 서버에서 응답을 받아야만 다음 요청을 보낼 수 있습니다. 또한 요청과 응답 헤더를 정의하여 클라이언트와 서버 간에 정보를 주고받을 수 있게 되었습니다. 이 버전에서는 더 많은 메서드가 추가되었으며, POST, PUT, DELETE 등의 메서드를 사용하여 동적인 리소스를 생성하고 관리할 수 있습니다.

 

HTTP/1.1

HTTP/1.1은 1999년에 발표된 HTTP의 두 번째 버전으로 현재 가장 널리 사용되는 버전입니다. 이 버전에서는 여러 요청과 응답을 동시에 처리할 수 있습니다. 또한 지속적인 연결(Persistent Connection)을 지원하여 하나의 연결로 여러 요청과 응답을 처리할 수 있게 되었습니다. 또한 브라우저와 서버 간의 데이터 전송을 최적화하기 위해 압축 기능, 캐시 기능 등의 기능이 추가되었습니다.

 

HTTP/2

HTTP/2는 2015년에 발표된 HTTP의 세 번째 버전으로, 현재 가장 최신의 버전입니다. 이 버전에서는 요청과 응답을 이전 버전에 비해 더욱 효율적으로 처리할 수 있게 되었습니다. 이전 버전에서는 하나의 요청에 대해 하나의 응답만을 처리할 수 있었지만, HTTP/2에서는 하나의 연결로 여러 요청과 응답을 동시에 처리할 수 있게 되었습니다. 또한 이 버전에서는 HTTP 헤더를 압축하여 데이터 전송 시 사용되는 대역폭을 줄일 수 있게 되었으며, 멀티플렉싱(Multiplexing)이라는 기능을 통해 여러 요청과 응답을 동시에 처리할 수 있습니다. 이를 통해 웹 페이지의 로딩 속도가 개선되고, 대역폭 사용량도 줄어들게 됩니다. 또한 서버 푸시(Server Push)라는 기능을 도입하여 서버에서 클라이언트로 데이터를 보내는 것도 가능해졌습니다. 이전 버전과는 달리 HTTPS 프로토콜을 기본적으로 지원합니다. 이 버전은 최신 기술을 적용하여 속도와 안전성을 개선하였습니다.

 

HTTP/3

 

HTTP/3는 2020년에 발표된 HTTP의 최신 버전입니다. 이 버전은 이전 버전과는 달리 전송 계층으로 TCP 대신에 QUIC(Quick UDP Internet Connections) 프로토콜을 사용합니다. QUIC는 UDP(사용자 데이터그램 프로토콜) 기반으로 동작하며, 연결 설정, 암호화, 오류 복구 및 다중화 등을 모두 내장하고 있어서 속도가 빠르고 안전합니다.

HTTP/3에서는 이전 버전에서 사용되던 TCP 기반의 연결 설정 및 흐름 제어, 오류 복구 기능이 대부분 제거되어 전송 속도가 빨라졌습니다. 또한 HTTP/2에서 도입된 멀티플렉싱, 헤더 압축, 서버 푸시와 같은 기능들을 그대로 유지하고 있습니다.

HTTP/3은 또한 일부 기능에서 실험적인 기술을 도입하고 있습니다. 예를 들어, Early Data라는 기능을 통해 최초 연결 시에 이미 요청한 데이터를 보내고, 데이터를 전송하기 위한 왕복 시간을 줄일 수 있습니다. 또한, 이전 버전에서는 HTTP/2의 서버 푸시가 클라이언트에게 불필요한 데이터를 전송하는 경우가 있었지만, HTTP/3에서는 클라이언트의 요청에 따라 서버 푸시가 이루어지므로 불필요한 데이터를 보내지 않아 대역폭을 절약할 수 있습니다.

 

 

출처

chatgtp

https://ko.wikipedia.org/wiki/HTTP

'부트캠프 > DevOps (TIL)' 카테고리의 다른 글

20_Study(데이터 교환 형식)  (0) 2023.04.11
20_Study(JSON이 XML에 비해 가지는 이점)  (0) 2023.04.10
19_Study(Socket & port)  (0) 2023.04.06
18_Study(OLTP vs OLAP)  (0) 2023.03.31
16_Study(Partitioning)  (0) 2023.03.30