HTTP 특징

bp.chys·2020년 4월 12일
0

Network

목록 보기
3/11

정의

  • HTTP(HyperText Transfer Protocol)은 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. (HTTP는 클라이언트와 서버의 역할을 명확하게 구별하고 있다.)
  • 애플리케이션 레벨(응용 계층)의 프로토콜로 TCP/IP 위에서 동작한다.
  • 무상태 프로토콜이며, Method, Path, Version, Headers, Body등으로 구성된다.

HTTP는 상태를 유지하지 않는 프로토콜

  • 덕분에 서버의 CPU나 메모리 같은 리소스를 적게 사용할 수 있다.
  • 인증이 필요한 애플리케이션에서는 상태관리가 필요하다.
  • 이때 쿠키(Cookie)를 사용하여 상태를 유지할 수 있다.
  • Set-Cookie 헤더 필드에 쿠키를 보존한다.

리퀘스트 URI로 리소스를 식별

  • 클라이언트는 리소스를 호출하는 요청을 보낼 때마다 리퀘스트 URI라고 불리는 형식으로 포함한다.
  • 모든 URI를 리퀘스트 URI에 포함한다.
  • Host 헤더 필드에 네트워크 로케이션을 포함한다.

인코딩으로 전송효율을 높인다.

지속연결로 접속량을 절약한다.

  • 한 페이지에서 여러 이미지들을 로드할 때, TCP 통신을 여러번 해야해서 통신량이 늘어나게 된다. 이러한 문제를 해결하기 위해 지속 연결(Persistent Connections)이라는 방법을 고안했다.
  • 지속연결은 오버헤드를 줄인만큼 리퀘스트와 리스폰스가 빠르게 완료되기 때문에 속도가 빨라진다.
  • 여러 리퀘스트를 파이프라인화하여 리스폰스를 기다리지 않고, 여러 리퀘스트를 보낼 수 있다.
profile
하루에 한걸음씩, 꾸준히

0개의 댓글