HTTP [ HyperText Transfer Protocol ]
HTTP 메시지에 모든것을 전송
- HTML , TEXT
- IMAGE, 음성 , 영상 , 파일
- JSON , XML (API)
- 거의 모든 형태의 데이터 전송 가능
- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용
HTTP 의 역사
- 1.1 스펙에 대부분의 기능이 들어있고 2,3는 성능개선에 초점이 맞춰져있다.
- RFC2068->RFC2616개정->RFC7230~7235개정 여러가지로 쪼개져서 개정되었다.
- HTTP1.1 이 중요하다!!
기반 프로토콜
- 1.1과 2는 TCP 프로토콜 위에 동작을 하지만 3는 UDP기반으로 개발되어있다.
TCP가 안정적이지 않나??!
TCP는 3way handshake 도 해야하고 기본적으로 안에 데이터가 너무 많고 메커니즘 자체가 속도가 빠른 메커니즘이 아니다! 그래서 이 점을 UDP프로토콜 위에 애플리케이션 레벨링해서 성능을 최적화해서 설계된게 3버전이다.1.1을 잘 배워두면 2,3은 성능개선이기 때문에 큰 차이는 없다.
개발자 도구로 확인해보면 1.1 , 2 , 3 을 모두 사용하고 있다.
HTTP의 특징
- 클라이언트 서버구조
- 무상태 프로토콜(스테이리스)를 지향 , 비연결성
- HTTP 메시지 [ 보낼때도 받을때도 HTTP메시지 사용 ]
- 단순함 , 확장 가능
큰 도움이 되었습니다, 감사합니다.