[네트워크] | HTTP 란?

제롬·2022년 4월 19일
0

HTTP란?

HTTP(HyperText Transfer Protocol) 는 HTML문서뿐만 아니라 이미지, 영상과 같은 리소스들을 가져올 수 있게 해주는 프로토콜이다.
심지어 서버와 서버가 통신할때도 HTTP 프로토콜 위에서 데이터를 주고받는다.
HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 하다.

[HTTP로 전송 가능한 리소스 종류]

  • HTML, TEXT
  • IMAGE, 음성, 영상, 파일
  • JSON, XML(API)
  • 거의 모든 형태의 데이터 전송 가능
  • 서버간에 데이터를 주고받을 때도 대부분 HTTP 사용

HTTP 역사

  • HTTP/0.9 (1991) : GET메서드만 지원, HTTP 헤더X
  • HTTP/1.0 (1996) : 메서드, 헤더 추가
    • RFC2068(1997) -> RFC2616(1999) -> RFC7230~7235(2014)
  • HTTP/1.1 (1997) : 가장 많이 사용, 개발자들에게 가장 중요
  • HTTP/2 (2015) : 성능 개선
  • HTTP/3 (진행중) : TCP 대신 UDP 사용, 성능개선

기반 프로토콜

  • TCP : HTTP/1.1, HTTP/2
  • UDP : HTTP/3
  • 현재 HTTP/1.1 주로 사용
    • HTTP/2HTTP/3도 점점 증가

[HTTP/3가 UDP 기반인 이유는?]

기존 TCP는 3 way handshake 작업부터 내부적으로 포함하거나 추가해야하는 작업들이 많이 있기 때문에 신뢰성과 연결성이 보장되지만 속도가 빠르진 않다. 그래서 속도측면에서 유리한 UDP를 기반으로해 애플리케이션 레벨에서 성능을 최적화 할 수 있도록 설계해서 나온것이 HTTP/3이다.

HTTP의 특징

  • 클라이언트-서버 구조
  • 무상태 프로토콜(stateless), 비연결성
  • HTTP 메시지
  • 단순함, 확장가능

[Reference]
gparkkii.log
Catsbi's Dlog
김영한 - HTTP 웹 기본지식 강의
Mozilla

0개의 댓글