웹
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) : 커서를 (줄)아래로 이동
결국 개행, 줄바꿈을 의미한다
반응형