개발일기

모든 것이 HTTP 본문

Spring/(김영한님)HTTP웹 기본 지식

모든 것이 HTTP

한둥둥 2023. 3. 6. 14:42

HTTP (HyperText Transfer Protocol) 

HyperText 문서간의 링크를 연결할 수 있는 HTML전송하는 프로토콜로 시작했는데,

모든 것을 HTTP 메시지에 담아서 전송한다.

- HTML, TEXT

- IMAGE, 음성, 영상, 파일

- JSON, XML(API)

- 거의 모든 형태의 데이터 전송 가능 

- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용

- 지금은 HTTP 시대이다.

TCP를 직접 연결해서 하는 경우는 게임 서버, 특별한 경우 심지어 요즘은 모바일 서버는 HTTP로 하는 경우도 많다.

 

HTTP 역사 

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

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

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

          - RFC2068(1997) -> RFC2616 (1999) -> RFC7239~7235(2014)

- HTTP/2 2015년: 성능 개선 

- HTTP/3 진행중 : TCP 대신에 UDP 사용, 성능 개선 

 

기반 프로토콜 

- TCP : HTTP/1.1, HTTP/2 (TCP프로토콜 위에서 동작을 한다.) 3 way handshake도 해야되고 데이터가 많아서 

조금 느림 

UDP : HTTP/3 => 이러한 문제점들을 성능을 최적화해서 나올 수 있음 즉, 직접 위에와 같은 것들을 구현할 수 있음. 

- 현재 HTTP/1.1 주로 사용

     - HTTP/2, HTTP/3 도 점점 증가 

 

우리에게 중요한건 HTTP/1.1의 성능을 개선한게 HTTP/2, HTTP/3 을 성능개선한거여서 HTTP/1.1만 어느정도 알면 해결됨. 

 

HTTP 특징

- 클라이언트 서버 구조

- 무상태 프로토콜(스테이스리스), 비연결성

- HTTP 메시지

- 단순함, 확장 가능 

'Spring > (김영한님)HTTP웹 기본 지식' 카테고리의 다른 글

Stateful, Stateless  (0) 2023.03.09
클라이언트 서버 구조  (0) 2023.03.09
웹 브라우저 요청 흐름  (0) 2023.03.06
URI(Uniform Resource Identifier)  (1) 2023.03.03
DNS  (0) 2023.03.03