2023. 4. 6. 18:34ㆍ부트캠프/DevOps (TIL)
HTTP/0.9는 초기 버전으로 1991년에 처음 개발되었습니다. 이 버전에서는 요청과 응답에 대한 간단한 규약만 정의되어 있습니다. 즉, GET 메서드를 이용하여 서버에서 HTML 문서와 같은 정적인 리소스를 가져올 수 있습니다. 하지만 요청과 응답 헤더를 정의하지 않았기 때문에 HTTP/0.9는 매우 제한적이며, 요즘은 거의 사용되지 않습니다.
HTTP/1.0은 1996년에 발표된 HTTP의 첫 번째 버전입니다. 이 버전에서는 한 번의 요청에 대해 한 번의 응답만이 가능했습니다. 즉, 하나의 요청을 보내면 서버에서 응답을 받아야만 다음 요청을 보낼 수 있습니다. 또한 요청과 응답 헤더를 정의하여 클라이언트와 서버 간에 정보를 주고받을 수 있게 되었습니다. 이 버전에서는 더 많은 메서드가 추가되었으며, POST, PUT, DELETE 등의 메서드를 사용하여 동적인 리소스를 생성하고 관리할 수 있습니다.
HTTP/1.1은 1999년에 발표된 HTTP의 두 번째 버전으로 현재 가장 널리 사용되는 버전입니다. 이 버전에서는 여러 요청과 응답을 동시에 처리할 수 있습니다. 또한 지속적인 연결(Persistent Connection)을 지원하여 하나의 연결로 여러 요청과 응답을 처리할 수 있게 되었습니다. 또한 브라우저와 서버 간의 데이터 전송을 최적화하기 위해 압축 기능, 캐시 기능 등의 기능이 추가되었습니다.
HTTP/2는 2015년에 발표된 HTTP의 세 번째 버전으로, 현재 가장 최신의 버전입니다. 이 버전에서는 요청과 응답을 이전 버전에 비해 더욱 효율적으로 처리할 수 있게 되었습니다. 이전 버전에서는 하나의 요청에 대해 하나의 응답만을 처리할 수 있었지만, HTTP/2에서는 하나의 연결로 여러 요청과 응답을 동시에 처리할 수 있게 되었습니다. 또한 이 버전에서는 HTTP 헤더를 압축하여 데이터 전송 시 사용되는 대역폭을 줄일 수 있게 되었으며, 멀티플렉싱(Multiplexing)이라는 기능을 통해 여러 요청과 응답을 동시에 처리할 수 있습니다. 이를 통해 웹 페이지의 로딩 속도가 개선되고, 대역폭 사용량도 줄어들게 됩니다. 또한 서버 푸시(Server Push)라는 기능을 도입하여 서버에서 클라이언트로 데이터를 보내는 것도 가능해졌습니다. 이전 버전과는 달리 HTTPS 프로토콜을 기본적으로 지원합니다. 이 버전은 최신 기술을 적용하여 속도와 안전성을 개선하였습니다.
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
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 |