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