본문 바로가기
HTTP

[Network] HTTP란 무엇일까?

by ftbd 2023. 11. 19.

 

 

HTTP: 하이퍼텍스트 전송 프로토콜

HTTP는 HyperText Transfer Protocol의 약자로, 하이퍼텍스트 전달을 위한 프로토콜입니다. 이는 사용자가 필요한 정보를 자유롭게 검색할 수 있는 하이퍼텍스트 방식을 사용합니다. 웹 브라우저와 웹 서버 간의 효과적인 소통을 위해 디자인된 HTTP는 OSI 7 계층에서 응용 계층에 위치한 프로토콜입니다.

 

특징

  1. 무상태성(Statelessness): HTTP는 특정 상태를 유지하지 않는 무상태성을 가지고 있습니다. 각각의 요청은 독립적으로 처리되며, 이전 요청에 대한 정보를 서버가 기억하지 않습니다.
  2. 클라이언트-서버 모델: 전통적인 클라이언트-서버 아키텍처 모델에서 클라이언트가 HTTP 메시지 양식에 맞춰 요청을 보내면, 서버는 이에 맞춰 HTTP 메시지 양식으로 응답합니다.

 

동작 원리

  1. 요청과 응답: 클라이언트는 HTTP 메시지 양식에 따라 서버에 요청을 보내고, 서버는 동일한 양식으로 응답합니다. 이러한 요청과 응답을 통해 정보 교환이 이루어집니다.
  2. 데이터 전송: HTTP는 웹 페이지를 비롯한 다양한 데이터를 네트워크 장치 간에 전송하는 데 사용됩니다. 클라이언트가 요청하면 서버는 해당 데이터를 응답 메시지에 담아 전송합니다.

 

HTTP는 월드 와이드 웹의 핵심이자, 하이퍼텍스트 링크를 통한 웹 페이지 로딩에 사용되는 프로토콜입니다. 클라이언트와 서버 간의 효율적인 소통을 지원하며, 무상태성의 특징을 가지고 있어 각각의 요청이 독립적으로 처리됩니다. 이를 통해 사용자는 빠르고 안정적인 웹 경험을 즐길 수 있습니다.

 

 

HTTP 메시지: 요청과 응답

HTTP 메시지는 클라이언트와 서버 간에 데이터를 교환하는 방식을 정의합니다. 이는 주로 텍스트 정보로 구성되며, 구성 파일, API, 그리고 기타 인터페이스에서 HTTP 메시지가 자동으로 생성됩니다.

HTTP 메시지의 구조

HTTP 메시지는 크게 요청(Request)과 응답(Response)으로 나눌 수 있습니다.

 

요청(Request) 메시지 구조:

  1. Start Line:
    • 요청의 상태를 나타냅니다.
    • 항상 첫 번째 줄에 위치합니다.
  2. HTTP Headers:
    • 요청을 지정하거나 메시지에 포함된 본문을 설명하는 헤더의 집합입니다.
  3. Empty Line:
    • 헤더와 본문을 구분하는 빈 줄입니다.
  4. Body:
    • 요청과 관련된 데이터를 포함할 수 있습니다.
    • 요청의 유형에 따라 선택적으로 사용됩니다.

 

응답(Response) 메시지 구조:

  1. Status Line:
    • 응답의 상태를 나타냅니다.
    • 항상 첫 번째 줄에 위치합니다.
  2. HTTP Headers:
    • 응답을 설명하거나 메시지에 포함된 본문을 설명하는 헤더의 집합입니다.
  3. Empty Line:
    • 헤더와 본문을 구분하는 빈 줄입니다.
  4. Body:
    • 응답과 관련된 데이터나 문서를 포함할 수 있습니다.
    • 응답의 유형에 따라 선택적으로 사용됩니다.

헤드(Head)의 개념

  • 요청의 헤드(Head):
    • Start Line과 HTTP Headers를 묶어 표현합니다.
  • 응답의 헤드(Head):
    • Status Line과 HTTP Headers를 묶어 표현합니다.

 

다음 글에서는 요청과 응답에 대한 자세하게 순서대로 알아보겠습니다.

'HTTP' 카테고리의 다른 글

[Network] 상태 코드란?  (2) 2023.11.19
[Network] HTTP Header에 대해  (2) 2023.11.19