728x90
HTTP
HyperText Transfer Protocol
HTTP 프로토콜에 모든 형태의 데이터를 전송 가능.
- HTML, TEXT
- IMAGE, 음성, 영상, 파일
- JSON, XML (API)
- 거의 모든 형태의 데이터 전송 가능
- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용
실무에서 일해보면 서버간 통신할 때 TCP 프로토콜 직접 이용해서 데이터를 전송하는 경우가 거의 없다.
HTTP 프로토콜로 연결하고, 물론 TCP 프로토콜 위에 HTTP 프로토콜이 있긴 함.
TCP 직접 연결해서 하는 경우는 게임 서버 또는 특수한 경우.
모바일 게임의 경우 HTTP열어서 통신하는 구조로 개발을 많이 한다.
시간이 흐르면서 문서 뿐 아니라 모든 것을 전송할 수 있게 발전하였음
HTTP 역사
- HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X
- HTTP/1.0 1996년: 메서드, 헤더 추가
- HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전
- RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)
- HTTP/2 2015년: 성능 개선
- HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선
HTTP 2, 3 는 성능 개선에 초점이 맞춰져 있음.
HTTP 1.1에 대해 공부하는 것이 중요.
기반 프로토콜
- TCP: HTTP/1.1, HTTP/2
- UDP: HTTP/3
- 현재 HTTP/1.1 주로 사용
- HTTP/2, HTTP/3도 점점 증가
HTTP 특징
- 클라이언트 서버 구조
- 무상태 프로토콜(스테이스리스), 비연결성
- HTTP 메시지
- 단순함, 확장 가능
참조
반응형
'CS > HTTP' 카테고리의 다른 글
[HTTP] Stateful, Stateless (0) | 2022.11.27 |
---|---|
[HTTP] 클라이언트 서버 구조 (0) | 2022.11.27 |
[HTTP] 웹 브라우저 요청 흐름 (0) | 2022.11.26 |
[HTTP] URI와 웹 브라우저 요청 흐름 (0) | 2022.11.26 |
[HTTP/김영한] DNS (0) | 2022.11.26 |