[네트워크] HTTP 프로토콜

Yoon Uk·2023년 4월 16일
0

네트워크

목록 보기
6/34
post-thumbnail

HTTP 프로토콜이란?

HTTP 프로토콜은 인터넷에서 웹 페이지나 다른 데이터를 주고받기 위한 규약입니다.
HTTP는 HyperText Transfer Protocol의 약자로, 하이퍼텍스트라는 링크를 통해 문서들이 연결된 웹의 특성을 반영한 이름입니다.

HTTP클라이언트-서버 모델을 기반으로 하며, 클라이언트가 서버에게 요청(request)을 보내면 서버는 응답(response)을 반환합니다. 이러한 요청과 응답은 HTTP 메시지로 구성되며, 메시지의 형식은 HTTP 표준에 따라 정의됩니다.

HTTP의 요청/응답 모델

HTTP(HyperText Transfer Protocol)는 클라이언트-서버 모델을 기반으로 하는 요청/응답 프로토콜입니다.

클라이언트(예: 웹 브라우저)가 서버에게 요청(request)을 보내면 서버는 응답(response)을 반환합니다.

요청/응답의 흐름은 다음과 같습니다

  1. 클라이언트가 서버에게 HTTP 요청 메시지를 전송합니다. 이 메시지에는 요청 메서드(GET, POST 등), 요청 URI, 헤더, 바디 등이 포함됩니다.
  2. 서버는 요청을 처리하고, HTTP 응답 메시지를 클라이언트에게 전송합니다. 이 메시지에는 상태 코드(200 OK, 404 Not Found 등), 헤더, 바디 등이 포함됩니다.
  3. 클라이언트는 응답 메시지를 수신하고, 상태 코드와 헤더 정보를 확인한 후 응답 본문을 처리합니다.

HTTP는 상태가 없는(stateless) 프로토콜이므로 각 요청은 독립적으로 처리됩니다. 이는 서버가 클라이언트의 이전 요청에 대한 정보를 저장하지 않는다는 것을 의미합니다.

HTTP의 무상태성(Stateless)

HTTP의 무상태성(Stateless)은 서버가 클라이언트의 이전 요청에 대한 정보를 저장하지 않는다는 것을 의미합니다.
이로 인해 각 요청은 독립적으로 처리되며, 각 요청은 이전 요청과 관련이 없습니다.

이로 인해 서버는 기본적으로 클라이언트에 대한 정보를 모르기 때문에 클라이언트가 누군지 식별할 수 없습니다.

(클라이언트를 식별하기 위해 쿠키, 세션과 같은 상태유지 기술을 사용할 수 있습니다.)

HTTP 무상태성(Stateless)의 장점과 단점

장점

  • 서버가 클라이언트의 상태 정보를 저장할 필요가 없으므로 서버의 부하가 줄어듭니다.
  • 서버가 다운되어도 클라이언트의 상태 정보가 유실되지 않습니다.
  • 서버의 확장성이 높아집니다.

단점

  • 클라이언트의 상태 정보를 유지하기 위해서는 추가적인 기술(예: 쿠키)이 필요합니다.
  • 매 요청마다 클라이언트의 상태 정보를 전송해야 하므로 네트워크 트래픽이 증가할 수 있습니다.

0개의 댓글