본문 바로가기
Network

HTTP 메시지

by Ahngyuho 2024. 10. 11.

HTTP 의 기본적인 개념을 정리해보려고 합니다.

목차

HTTP 흐름

HTTP 구조

HTTP 메서드

 

HTTP 흐름

HTTP의 흐름을 표현하는 단어는 인바운드, 아웃바운드, 업스트림, 다운스트림이 있습니다.

인바운드와 아웃바운드는 트랜잭션 방향을 나타내는 단어이고,

클라이언트 -> 서버 방향으로 흐르는 것은 인바운드,

서버 -> 클라이언트로 흐르는 것을 아웃바운드라고 합니다.

 

업스트림과 다운스트림은 수신자와 발송자에 대한 것입니다.

일반적으로 데이터가 흐르는 방향은 발송자에서 수신자이고 메시지의 수신자를 이를 다운스트림이라고 합니다.

그렇기 때문에 발송자와 수신자의 관점에서 보면 HTTP 메시지는 항상 다운스트림으로 흐른다고 볼 수 있습니다.

메시지의 발송자업스트림이라고 표현합니다. 

HTTP 메시지 구조

HTTP 메시지는 요청과 응답으로 나뉠 수 있지만 구조는 동일합니다.

 

요청 메시지의 구조

<메서드> <요청 URL> <버전>

<헤더>

빈줄

<엔터티 본문>

 

메서드 : 서버가 무엇을 해야하는지 알려주는 기능

요청 URL: 요청 대상이 되는 리소스를 지정

 


응답 메시지의 구조

<버전> <상태코드> <사유 구절>

<헤더>

빈줄

<엔터티 본문>

 

상태코드 : 요청 성공, 실패를 표현

사유 구절 : 사람이 간단히 이해할 수 있을 정도의 짧은 문구 ex) OK , NOT OK

 

엔터티 본문 : 실제 전송할 데이터, HTML 문서, 이미지, 영상, JSON 등등 byte로 표현될 수 있는 모든 것 


HTTP 메서드

자주 사용되는 메서드는 GET, POST, PUT, PATCH, DELETE 가 있습니다.

 

두 가지 경우로 분류할 수 있는데 그것은 언터티 본문의 유무입니다.

 

GET은 주로 서버에게 리소스를 요청할 때 많이 사용됩니다.

반면 POST, PUT, PATCH는 데이터를 서버에 전달하여 등록 혹은 처리를 요청할 때 사용됩니다.

조금 더 구분해보면

POST : 주로 등록에 사용되고, 내부 프로세스 동작에 사용 , GET으로 조회하기 힘든 경우 사용

PUT : 리소스를 대체, 없다면 생성

PATCH : 리소스 부분 변경

DELETE : 리소스 삭제

 


 

지금까지 HTTP의 흐름, 구조, 메서드에 대해서 알아보았습니다.

  • 흐름을 표현하는 4가지 단어 : 인바운드, 아웃바운드, 업스트림, 다운스트림. 클라이언트 -> 서버, 서버 -> 클라이언트라는 트랜잭션 흐름을 나타내는 것과 수신자와 발신자에 대한 것으로 나뉠 수 있었습니다.
  • HTTP 구조는 시작줄(요청과 응답은 차이가 존재), 헤더, 빈줄, 엔터티 본문(메시지 바디)로 구성
  • 자주 사용되는 HTTP 메서드와 사용 목적

'Network' 카테고리의 다른 글

3tier 아키텍처  (0) 2024.12.01
포트 포워딩  (0) 2024.11.30
Network 개요  (0) 2024.07.14