하얀 코딩

[HTTP - 7] HTTP 기초 본문

HTTP

[HTTP - 7] HTTP 기초

whitecoding 2023. 1. 6. 01:01

HTTP는 HyperText Transfer Protocol의 줄임말로, HTML과 같은 문서를 전송하기 위한 프로토콜입니다. HTTP는 웹 브라우저와 웹 서버의 소통을 위해 디자인되었습니다. 전통적인 클라이언트-서버 모델에서 클라이언트가 HTTP Messages 양식에 맞춰 요청을 보내면, 서버도 HTTP Messages 양식에 맞춰 응답합니다.

 

HTTP Messages는 클라이언트와 서버 사이에서 데이터가 교환되는 방식입니다.

HTTP Messages에는 다음과 같은 두 가지 유형이 있습니다.

요청 (Requests)
응답 (Responses)

 

HTTP Messages는 몇 줄의 텍스트 정보로 구성됩니다. 그러나 개발자는 이런 메시지를 직접 작성할 필요가 거의 없습니다.

구성 파일, API, 기타 인터페이스에서 HTTP Messages를 자동으로 완성합니다.

 

[ 그림 ] HTTP Messages의 구조

start line : start line에는 요청이나 응답의 상태를 나타냅니다. 항상 첫 번째 줄에 위치합니다. 

응답에서는 status line이라고 부릅니다.


HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합입니다.


empty line : 헤더와 본문을 구분하는 빈 줄이 있습니다.


body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함합니다. 요청과 응답의 유형에 따라 선택적으로 사용합니다.
이 중 start line과 HTTP headers를 묶어 요청이나 응답의 헤드(head)라고 하고, payload는 body라고 이야기합니다.

페이로드(영어: payload)는 사용에 있어서 전송되는 데이터를 뜻한다. 페이로드는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 데이터는 제외한다.

Stateless

HTTP의 가장 큰 특징인 Stateless는 말 그대로 상태를 가지지 않는다는 뜻입니다.

HTTP로 클라이언트와 서버가 통신을 주고받는 과정에서, HTTP가 클라이언트나 서버의 상태를 확인하지 않습니다. 

HTTP는 통신 규약일 뿐이므로, 상태를 저장하지 않습니다.

따라서 필요에 따라 다른 방법(쿠키-세션, API 등)을 통해 상태를 확인할 수 있습니다.

 

'HTTP' 카테고리의 다른 글

[HTTP - 9] HTTP Responses  (0) 2023.01.06
[HTTP - 8] HTTP Requests  (0) 2023.01.06
[HTTP - 6] 크롬 브라우저 에러 읽기  (0) 2023.01.06
[HTTP - 5] Domain, DNS 기초  (0) 2023.01.05
[HTTP - 4] IP와 PORT  (0) 2023.01.05