HTTP 개념 & 동작 방식

구콩·2022년 5월 9일
0

HTTP

목록 보기
1/4
post-thumbnail

01. HTTP의 정의

HTTP: HyperText Transfer Protocol

📌 웹 상에서 데이터를 교환하기 위한 프로토콜(=규칙, 약속)

  • 웹에서 이루어지는 모든 데이터 교환의 기초가 된다.

    • Client의 Request & Server의 Response로 이루어져있다.
  • 초기에는 Hyper Text(HTML 문서)를 주로 전송했지만, 최근에는 JSON, XML 등 다양한 형태의 데이터를 전송하는 프로토콜이다.

02. HTTP 동작 방식

1) 요청과 응답

📌 네트워크 환경을 통해, client의 request를 받은 server가 그에 맞는 response를 반환하는 방식

1. Client(웹 브라우저)이 네트워크를 통해 HTTP Request(요청)을 server로 보낸다.

2. Server는 요청에 대해 응답하여 처리를 수행한다.

3. Server는 네트워크를 통해 HTTP Response(응답 처리 결과)을 Client에게 반환한다.

서버: 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미한다.

2) HTTP의 특징

2-1 비연결지향(connectionless)

  • 서버는 요청에 대한 응답을 보낸 후 client와의 연결을 끊는다.

2-2 무상태(stateless)

  • 연결을 끊는 순간, 클라이언트와 서버 간의 통신이 끝나며 상태 정보가 유지되지 않는다.
  • 클라이언트와 서버가 주고 받는 메세지들은 서로 완전히 독립적이다.

📌 이러한 특성을 가진 HTTP에서, 클라이언트와 서버의 지속적인 관계를 유지하기 위해서 쿠키와 세션이 존재한다.

  • ex) 로그인을 한 후에, 다른 요청을 보내면 http의 특성 상, 상태 정보가 유지되지 않기 때문에 로그인이 필요한 정보에 접근할 수 없는 문제가 발생한다.

🔎 참고 : 쿠키와 세션

2-3 위의 특성에 따른 장단점 🎁

  • 장점
    • 메모리와 성능을 효율적으로 관리할 수 있다.
    • 수천 개의 TCP 연결 관리가 가능하다.
    • 간단한 서버 설계가 가능하다.
  • 단점
    • 객체의 개수마다 요청되는 TCP 연결을 설정한다.
    • 각 개체는 무조건 2RTT가 필요하다. (원래는 1RTT만 필요했다.)

0개의 댓글