개발 블로그

HTTP 메시지 ( 미완) 본문

HTTP 메시지 ( 미완)

daehwan2 2022. 8. 25. 00:10

HTTP 메시지 : 단순한, 데이터의 구조화된 블록.

 

 

메시지 문법

요청 메시지

<메서드> <요청 URL> <버젼>
<헤더>

<엔티티 본문>

응답메시지

<버젼> <상태코드> <사유 구절>
<헤더>

<엔티티 본문>

- 시작줄에서만 문법이 다르다

시작줄 - 줄단위로 분리된 아스키 문자열
- 각 줄은 캐리지 리턴과 개행 문자로 구성된 두 글자의 줄바꿈 문자열(CRLF)로 끝난다.
- 모든 필드는 공백으로 분리된다.
요청URL 리소스를 지칭하는 URL
메서드 클라이언트 측에서 서버가 리소스에 대해 수행해주길 바라는 동작.

 
이외에도 추가로 메서드를 구현할 수 있다. (확장 메서드)
버젼 - 이 메시지에서 사용 중인 HTTP의 버젼  HTTP/<메이저>.<마이너> 
- 버젼번호는 어떤 애플리케이션이 지원하는 가장 높은 HTTP 버젼을 가리킨다.
( HTTP/1.1 이면 HTTP/1.1까지 이해할수 있음을 뜻함 )
- 버젼번호는 분수(소수)가 아님
( HTTP/1.22 가 HTTP/1.3 보다 최신버젼!  착각하지말자)
상태코드 요청 중에 무엇이 일어났는지 설명하는 세자리 숫자

사유구절 - 숫자로 된 상태 코드의 의미를 사람이 이해할 수 있게 설명해주는 짧은 문구
- 상태 코드와 1대1 대응
헤더 - 여러줄이 올수있다.
- 추가 정보를 의미한다
- 이름/값 쌍의 목록
일반 헤더 요청과 응답 양쪽에 모두 나타날 수 있음

Date: Wed, 24 Aug 2022 13:26:54 GMT
요청 헤더 요청에 대한 부가 정보를 제공

Accept: application/json, text/plain, */*
응답 헤더 응답에 대한 부가 정보를 제공

Server: Tiki-Hut/1.0
Entity 헤더 본문 크기와 콘텐츠, 혹은 리소스 그 자체를 서술

Content-type: text/html; charset=iso-latin-1
확장 헤더 - 명세에 정의되지 않은 헤더
- 비표준 헤더
본문 - 선택적인 데이터 덩어리
- 텍스트, 이진데이터 포함 가능. ( 비어 있을 수도 있음)
     
※ CRLF: CR + LF
CR(Carriage Return) : 커서를 맨앞으로 이동
LF(Line Feed) : 커서를 (줄)아래로 이동

결국 개행, 줄바꿈을 의미한다

 

반응형
Comments