흰 스타렉스에서 내가 내리지

HTTP 메시지 본문

Network

HTTP 메시지

주씨. 2024. 7. 8. 10:22
728x90

HTTP 에서는 클라이언트와 서버가 통신하기 위해 정형화된 데이터인 HTTP 메시지를 주고받는다. 

HTTP 메시지는 요청메시지응답메시지로 나뉘며, 각 메시지는 특정 구조를 따른다.

 


# HTTP 요청 메시지 (HTTP Request Message)

요청 메시지는 다음과 같은 구조를 가진다.

  1. 요청 라인 (Request Line)
  2. 헤더 (Headers)
  3. 빈 줄 (CRLF)
  4. 본문 (Body, 선택사항)

 

요청 라인은 세 부분으로 구성된다.

  • 메서드 (Method) : 요청의 유형을 저장한다. 예: GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH
  • 요청 대상 (Request-URI) : 요청하는 리소스의 경로를 지정한다. 예 : /index.html, /api/data
  • HTTP 버전 (HTTP Version) : 사용되는 HTTP 버전을 지정한다. 예 : HTTP/1.1, HTTP/2
GET  /index.html  HTTP/1.1

 

 

헤더는 요청에 대한 추가 정보를 제공한다. 각 헤더는 이름과 값의 쌍으로 구성되며, 다음과 같은 형태를 가진다.

Host:  www.example.com
User-Agent:  Mozilla/5.0
Accept:  text/html

 

 

본문은 선택 사항이며, 주로 POST, PUT 등의 메서드에서 서버에 데이터를 전송할 때 사용된다. 

 

 

# HTTP 응답 메시지 (HTTP Response Message)

응답 메시지도 요청 메시지와 유사한 구조를 가진다.

  1. 상태 라인 (Status Line)
  2. 헤더 (Headers)
  3. 빈 줄 (CRLF)
  4. 본문 (Body) (선택사항)

 

상태 라인은 세 부분으로 구성된다. 

  • HTTP 버전 (HTTP Version) : 사용되는 HTTP 버전을 지정한다. 예 : HTTP/1.1, HTTP/2
  • 상태 코드 (Status Code) : 요청의 결과를 나타내는 3자리 숫자 코드이다. 예 : 200, 404, 500
  • 상태 메시지 (Status Message) : 상태 코드를 설명하는 짧은 텍스트이다. 예 : OK, Not Found, Internel Server Error
HTTP/1.1  200  OK

 

 

헤더는 응답에 대한 추가 정보를 제공한다. 

Content-Type:  text/html
Content-Length:  138

 

 

본문은 응답의 실제 데이터를 포함한다. 예를 들어, HTML 문서, JSON 데이터, 이미지 파일 등이 본문에 포함될 수 있다.

 

 

 

# 예시 : HTTP 요청과 응답

GET /index.html HTTP/1.1
Host: www.example.com User-Agent: Mozilla/5.0
Accept: text/html

 

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html

<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

'Network' 카테고리의 다른 글

IP 클래스와 서브넷 - 서브넷의 탄생 배경을 중심으로  (2) 2024.10.09
HTTP Keep-Alive  (1) 2024.07.08
VPC , Subnet  (0) 2024.06.10
NAT Gateway & Bastion Host  (0) 2023.08.28
보안그룹과 NACL  (0) 2023.08.28