HyperText Transfer Protocol
초기에는 HTML 문서를 전송하는 프로토콜로 시작이 되었음.
현재는 거의 모든것을 HTTP 로 전송
- HTML, Text
- Image, 음성, 영상, 파일
- JSON, XML (API)
- 거의 모든 형태의 데이터 전송 가능
- 서버간에 데이터를 주고 받을때도 대부분 HTTP 사용
시간이 지나며 거의 모든것이 전송 가능해졌음
HTTP 역사
- HTTP / 0.9 <1991> : GET 만 지원, HTTP 헤더가 없음
- HTTP / 1.0 <1996> : 메서드, 헤더 추가
- HTTP / 1.1 <1997> : 가장 많이 사용, 우리에게 가장 중요한 버전
> RFC 2068 ( 1997 ) -> RFC 2616 ( 1999 ) -> RFC 7230 ~ 7235 ( 2014 )
- HTTP / 2 <2015> : 성능 개선
- HTTP / 3 <진행중> : TCP 대신에 UDP 사용, 성능 개선
기반 프로토콜
TCP : HTTP / 1.1, HTTP / 2
UDP : HTTP / 3
현재 HTTP / 1.1 주로 사용, HTTP / 2 , HTTP / 3 도 점점 증가
HTTP / 3 는 TCP 의 메커니즘 자체가 ( 다루는 데이터양이 많고 3 way handshaking 등 ) 느리기 떄문에,
UDP 를 통해 개선 된것
구글에 검색하거나, 어떤 사이트를 방문하고 개발자 도구를 열어 네트워크 탭을 확인하면
위와 같이 사용하는 프로토콜을 확인 할수 있다
최근에는 HTTP / 2, 3 이 빠른속도로 적용되어 가는 추세이다.
'CS > HTTP' 카테고리의 다른 글
HTTP API 를 만들어보자 - URI 설계 (0) | 2022.09.06 |
---|---|
HTTP 메시지 (0) | 2022.09.06 |
비 연결성 ( Connectionless ) (0) | 2022.09.05 |
무상태 프로토콜 ( Stateless ) 지향 (1) | 2022.09.05 |
웹 브라우저 요청 흐름 (0) | 2022.09.05 |