HTTP란
- HyperText Transfer Protocol 의 약자
- 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 통신 규약
- 서버간 네트워크 통신시 어떠한 형식으로 통신할지에 대해 정해둔 규약
HTTP 메세지 기본 구조
http 메세지는 기본적으로
시작라인 - 헤더 - 공백라인 - 메세지 바디로 이루어져있다.
시작라인
요청
- HTTP Method
- ( GET,POST, PUT,PATCH,DELETE )
- Request Target
- 요청 대상의 URL을 명시
- HTTP Version
- HTTP 버전으로 현재까지는 대부분이 HTTP/1.1이고 HTTP/2,HTTP/3 까지 있다.
응답
- Status Code
- 응답 코드
- 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.
- 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
- 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
- 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
- 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
- 응답 코드
- Status text
- 응답 상태
헤더
요청
- Host
- 호스트 URL
- User-Agent
- 클라이언트 정보
- Accept
- 서버에서 해당 타입에 데이터를 요청하는 헤더
- Authorization
- JWT 같은 인증 토큰을 서버로 보낼 때 사용하는 헤더
응답
- Date
- 응답온 일시
- Content-Type
- 응답 데이터의 타입
- Cache-Control
- 캐시용 헤더
공백라인
헤더와 본문을 구분하는 빈 줄 공백라인은 CRLF 라고 하며 필수 사항
CRLF : 텍스트 파일에서 줄 바꿈을 표시하는 데 사용할 수 있는 제어문자 또는 바이트 코드이다.
CRLF: https://developer.mozilla.org/en-US/docs/Glossary/CRLF
메세지 바디
- 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함한다.
- 요청과 응답의 유형에 따라 선택적으로 사용
시작라인과 헤더스를 묶어 요청이나 응답의 헤드(head) 라고 말하며 body는 payload라고 말한다.
'WEB' 카테고리의 다른 글
[WEB] DTO(Data Transfer Object) (0) | 2022.07.31 |
---|---|
[WEB] MVC 패턴 (0) | 2022.07.18 |
[WEB] WEB Sever, WAS (1) | 2022.06.16 |
[WEB] ORM (1) | 2022.06.06 |
[WEB] 쿠키와 세션 그리고 로컬 스토리지 (0) | 2022.06.03 |