HTTP 란?

JangUT·2025년 3월 16일

📌HTTP 란?

HTTP는 "Hypertext Transfer Protocol"의 약자로, 웹에서 데이터를 주고받기 위한 프로토콜입니다. 쉽게 말해, 웹 브라우저와 웹 서버가 서로 통신할 수 있드록 해주는 규칙을 정의한 시스템입니다.

📌HTTP의 특징

  • 클라이언트 서버 구조

    • HTTP는 클라이언트-서버 모델을 따릅니다. 클라이언트는 요청을 보내고, 서버는 요청에 응답합니다. 이 구조로 웹 애플리케이션을 효율적으로 분리되고 관리됩니다.
  • 무상태 프로코톨(stateless), 비연결성

    • HTTP는 상태 비저장(stateless) 프로토콜입니다. 즉 각 요청은 독립적이며, 서버는 클라이턴트의 이전 요청에 대한 정보를 저장하지 않습니다.
    • 비연결성(connectionless) 클라이언트가 서버에 요청을 보낸 후, 응답을 받으면 연결이 종료됩니다. 만약 연결이 종료되지 않고 계속 유지된다면 클라이언트가 요청을 보내지 않는 상황에서도 서버와 연결을 지속한다면 서버에 자원이 낭비되는 문제가 발생할 수 있다.
  • HTTP 메세지

    • start-line, header, empty-line, message body 형태로 보내집니다.

    • 요청 :

      빨간색 박스 : start_line에 해당하고
      노란색 박스 : header 부분에 해당한다.
      초록색 박스 : empty-line 에 해당하고
      그림에는 존재하지 않지만 요청 메세지에도 body을 넣어서 보낼 수 있다.

    • 응답 :

      빨간색 박스 : start_line에 해당하고
      노란색 박스 : header 부분에 해당한다.
      초록색 박스 : empty-line 에 해당하고
      요청에 해당하는 응답 메세지를 담아서 응답한다.

  • 단순함, 확장 가능

    • 확장성이 뛰어난 프로토콜입니다. 예를 들어, 새로운 요청 메서드 (GET, POST 외에도 PUT, DELETE 등)을 추가하거나, 헤더에 새로운 필드를 추가하는 등의 확장이 가능합니다.
profile
평범한 개발자

0개의 댓글