[Network] HTTP 정의와 특징

과꼴 취준·2025년 9월 2일

Network

목록 보기
2/5

HTTP (HyperText Transfer Protocol)


HTTPHTML 문서와 같은 리소스들을 가져올수 있도록 해주는 프로토콜이다.
HTTP웹에서 이루어지는 모든 데이터 교환의 기초이다.

HTTP 의 특징


1. HTTP는 클라이언트 - 서버 프로토콜이다.

클라이언트 (대부분 사용자의 브라우저) 에서 요청(Request)을 보내고, 서버는 요청을 처리한후 응답을 제공한다(Response)

각각의 요청들이 서버로 보내질때 , 요청과 응답사이에는 여러 개체들이 있는데
게이트웨이 또는 프록시 등이 있다.

2. HTTP는 무상태(Stateless) 이다.

HTTP는 상태를 저장하지 않는다(Noncontext)
무상태(Stateless) 이므로 응답서버를 바꾸는데 제약이 없다-> 서버를 쉽게 바꿀수 있다. -> 서버를 무한히 확장가능하다. 이는 e-커머스 쇼핑 바구니처럼, 일관된 방식으로 사용자에게 페이지를 띄우는 경우 유용하다.

하지만 상태유지 (Stateful) 로 설계 해야하는 경우가 있다. 로그인을 한경우 추가로 요청을 허용하는 경우가 있다. 그래서 HTTP쿠키서버세션을 사용해서 상태유지를 허용할수 있다.

3. 비 연결성(Connectionless)

  • HTTP 는 기본적으로 비 연결성을 지향한다.

    • 수많은 요청을 연결로 유지를 하려면 서버 자원이 낭비가 되기때문이다.
  • 연결(Connection)은 HTTP가 관여하지 않는다.

    • HTTP는 애플리케이션 계층 프로토콜 이므로, 3 way -handshake로 연결(Connection) 하는 전송계층인 TCP의 역할이기때문이다.

    HTTP/1.0 는 요청후 연결을 끊는 즉시 연결종료 방식을 사용했다.
    한 클라이언트가 요청을 여러번 반복하면, 하나의 요청마다 한번의 연결(3 way -handshake) 가 필요하므로 비 효율적이다. 그래서
    HTTP/1.1 부터 지속 연결(Persistent Connections) 을 지원한다
    HTTP/2 ,HTTP/3 모두 연결성 최적화.

4. HTTP의 유연성

HTTP는 전송할 데이터 형식과 동작을 제한하지 않고, 확장 가능하며 다양한 요청/응답 처리 할수 있다.
text/html → HTML 문서

application/json → JSON 데이터

image/png → PNG 이미지

audio/mpeg → MP3 오디오

요청/응답처리 -> HTTP 메서드

참고 출처
https://developer.mozilla.org/ko/

profile
취업 엑조디아 모으기

0개의 댓글