본문 바로가기
Backend

HTTP 기본

by hammii 2024. 5. 19.

HTTP 기본 개념에 대해 알아보자.

 

HTTP란?

HyperText Transfer Protocol

 

HTTP 메시지로 전송할 수 있는 것

- HTML, TEXT

- IMAGE, 음성, 영상, 파일

- JSON, XML (API)

거의 모든 형태의 데이터 전송이 가능하다. 따라서 지금은 HTTP 시대!

 

HTTP의 역사

- HTTP/0.9 (1991): GET 메서드만 지원, HTTP 헤더 X

- HTTP/1.0 (1996): 메서드, 헤더 추가

- HTTP/1.1 (1997): 가장 많이 사용, 우리에게 가장 중요한 버전

- HTTP/2 (2015): 성능 개선

- HTTP/3 (2022): TCP 대신에 UDP 사용, 성능 개선

 

HTTP의 특징 4가지

1. 클라이언트 서버 구조

- Request Response 구조

- 클라이언트는 서버에게 요청을 보내고, 응답을 대기

- 서버가 요청에 대한 결과를 만들어서 응답

2. 무상태 프로토콜(Stateless), 비연결성(Connectionless)

무상태 프로토콜(Stateless)

- 서버가 클라이언트의 상태를 보존하지 않는다.

- 장점: 서버 확장성 높음 (스케일 아웃)

- 단점: 클라이언트가 추가 데이터를 전송해야 한다.

 

비연결성(Connectionless)

- HTTP는 기본이 연결을 유지하지 않는 모델이다.

- 일반적으로 초 단위 이하의 빠른 속도로 응답

- 장점: 서버 자원을 매우 효율적으로 사용할 수 있음

- 단점: TCP/IP 연결을 새로 맞어야 함 -> 3 way handshake 시간 추가

 

3. HTTP 메시지

출처: 김영한의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의

4. 단순함, 확장 가능

- HTTP는 단순하다.

- HTTP 메시지도 매우 단순

- 크게 성공하는 표준 기술은 단순하지만 확장 가능한 기술!

 

 

참고: 김영한의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의